1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.orchestration.airflow.service.v1beta1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/type/date.proto"; 22 23option go_package = "cloud.google.com/go/orchestration/airflow/service/apiv1beta1/servicepb;servicepb"; 24option java_multiple_files = true; 25option java_package = "com.google.cloud.orchestration.airflow.service.v1beta1"; 26 27// Readonly service to query available ImageVersions. 28service ImageVersions { 29 option (google.api.default_host) = "composer.googleapis.com"; 30 option (google.api.oauth_scopes) = 31 "https://www.googleapis.com/auth/cloud-platform"; 32 33 // List ImageVersions for provided location. 34 rpc ListImageVersions(ListImageVersionsRequest) 35 returns (ListImageVersionsResponse) { 36 option (google.api.http) = { 37 get: "/v1beta1/{parent=projects/*/locations/*}/imageVersions" 38 }; 39 option (google.api.method_signature) = "parent"; 40 } 41} 42 43// List ImageVersions in a project and location. 44message ListImageVersionsRequest { 45 // List ImageVersions in the given project and location, in the form: 46 // "projects/{projectId}/locations/{locationId}" 47 string parent = 1; 48 49 // The maximum number of image_versions to return. 50 int32 page_size = 2; 51 52 // The next_page_token value returned from a previous List request, if any. 53 string page_token = 3; 54 55 // Whether or not image versions from old releases should be included. 56 bool include_past_releases = 4; 57} 58 59// The ImageVersions in a project and location. 60message ListImageVersionsResponse { 61 // The list of supported ImageVersions in a location. 62 repeated ImageVersion image_versions = 1; 63 64 // The page token used to query for the next page if one exists. 65 string next_page_token = 2; 66} 67 68// Image Version information 69message ImageVersion { 70 // The string identifier of the ImageVersion, in the form: 71 // "composer-x.y.z-airflow-a.b.c" 72 string image_version_id = 1; 73 74 // Whether this is the default ImageVersion used by Composer during 75 // environment creation if no input ImageVersion is specified. 76 bool is_default = 2; 77 78 // supported python versions 79 repeated string supported_python_versions = 3; 80 81 // The date of the version release. 82 google.type.Date release_date = 4; 83 84 // Whether it is impossible to create an environment with the image version. 85 bool creation_disabled = 5; 86 87 // Whether it is impossible to upgrade an environment running with the image 88 // version. 89 bool upgrade_disabled = 6; 90} 91