xref: /aosp_15_r20/external/googleapis/google/appengine/v1/domain_mapping.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2020 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.appengine.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppEngine.V1";
20*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/appengine/apiv1/appenginepb;appenginepb";
21*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
22*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "DomainMappingProto";
23*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.appengine.v1";
24*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppEngine\\V1";
25*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppEngine::V1";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Worker// A domain serving an App Engine application.
28*d5c09012SAndroid Build Coastguard Workermessage DomainMapping {
29*d5c09012SAndroid Build Coastguard Worker  // Full path to the `DomainMapping` resource in the API. Example:
30*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/domainMapping/example.com`.
31*d5c09012SAndroid Build Coastguard Worker  //
32*d5c09012SAndroid Build Coastguard Worker  // @OutputOnly
33*d5c09012SAndroid Build Coastguard Worker  string name = 1;
34*d5c09012SAndroid Build Coastguard Worker
35*d5c09012SAndroid Build Coastguard Worker  // Relative name of the domain serving the application. Example:
36*d5c09012SAndroid Build Coastguard Worker  // `example.com`.
37*d5c09012SAndroid Build Coastguard Worker  string id = 2;
38*d5c09012SAndroid Build Coastguard Worker
39*d5c09012SAndroid Build Coastguard Worker  // SSL configuration for this domain. If unconfigured, this domain will not
40*d5c09012SAndroid Build Coastguard Worker  // serve with SSL.
41*d5c09012SAndroid Build Coastguard Worker  SslSettings ssl_settings = 3;
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // The resource records required to configure this domain mapping. These
44*d5c09012SAndroid Build Coastguard Worker  // records must be added to the domain's DNS configuration in order to
45*d5c09012SAndroid Build Coastguard Worker  // serve the application via this domain mapping.
46*d5c09012SAndroid Build Coastguard Worker  //
47*d5c09012SAndroid Build Coastguard Worker  // @OutputOnly
48*d5c09012SAndroid Build Coastguard Worker  repeated ResourceRecord resource_records = 4;
49*d5c09012SAndroid Build Coastguard Worker}
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker// SSL configuration for a `DomainMapping` resource.
52*d5c09012SAndroid Build Coastguard Workermessage SslSettings {
53*d5c09012SAndroid Build Coastguard Worker  // The SSL management type for this domain.
54*d5c09012SAndroid Build Coastguard Worker  enum SslManagementType {
55*d5c09012SAndroid Build Coastguard Worker    // Defaults to `AUTOMATIC`.
56*d5c09012SAndroid Build Coastguard Worker    SSL_MANAGEMENT_TYPE_UNSPECIFIED = 0;
57*d5c09012SAndroid Build Coastguard Worker
58*d5c09012SAndroid Build Coastguard Worker    // SSL support for this domain is configured automatically. The mapped SSL
59*d5c09012SAndroid Build Coastguard Worker    // certificate will be automatically renewed.
60*d5c09012SAndroid Build Coastguard Worker    AUTOMATIC = 1;
61*d5c09012SAndroid Build Coastguard Worker
62*d5c09012SAndroid Build Coastguard Worker    // SSL support for this domain is configured manually by the user. Either
63*d5c09012SAndroid Build Coastguard Worker    // the domain has no SSL support or a user-obtained SSL certificate has been
64*d5c09012SAndroid Build Coastguard Worker    // explictly mapped to this domain.
65*d5c09012SAndroid Build Coastguard Worker    MANUAL = 2;
66*d5c09012SAndroid Build Coastguard Worker  }
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker  // ID of the `AuthorizedCertificate` resource configuring SSL for the
69*d5c09012SAndroid Build Coastguard Worker  // application. Clearing this field will remove SSL support.
70*d5c09012SAndroid Build Coastguard Worker  //
71*d5c09012SAndroid Build Coastguard Worker  // By default, a managed certificate is automatically created for every
72*d5c09012SAndroid Build Coastguard Worker  // domain mapping. To omit SSL support or to configure SSL manually, specify
73*d5c09012SAndroid Build Coastguard Worker  // `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must
74*d5c09012SAndroid Build Coastguard Worker  // be authorized to administer the `AuthorizedCertificate` resource to
75*d5c09012SAndroid Build Coastguard Worker  // manually map it to a `DomainMapping` resource.
76*d5c09012SAndroid Build Coastguard Worker  // Example: `12345`.
77*d5c09012SAndroid Build Coastguard Worker  string certificate_id = 1;
78*d5c09012SAndroid Build Coastguard Worker
79*d5c09012SAndroid Build Coastguard Worker  // SSL management type for this domain. If `AUTOMATIC`, a managed certificate
80*d5c09012SAndroid Build Coastguard Worker  // is automatically provisioned. If `MANUAL`, `certificate_id` must be
81*d5c09012SAndroid Build Coastguard Worker  // manually specified in order to configure SSL for this domain.
82*d5c09012SAndroid Build Coastguard Worker  SslManagementType ssl_management_type = 3;
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker  // ID of the managed `AuthorizedCertificate` resource currently being
85*d5c09012SAndroid Build Coastguard Worker  // provisioned, if applicable. Until the new managed certificate has been
86*d5c09012SAndroid Build Coastguard Worker  // successfully provisioned, the previous SSL state will be preserved. Once
87*d5c09012SAndroid Build Coastguard Worker  // the provisioning process completes, the `certificate_id` field will reflect
88*d5c09012SAndroid Build Coastguard Worker  // the new managed certificate and this field will be left empty. To remove
89*d5c09012SAndroid Build Coastguard Worker  // SSL support while there is still a pending managed certificate, clear the
90*d5c09012SAndroid Build Coastguard Worker  // `certificate_id` field with an `UpdateDomainMappingRequest`.
91*d5c09012SAndroid Build Coastguard Worker  //
92*d5c09012SAndroid Build Coastguard Worker  // @OutputOnly
93*d5c09012SAndroid Build Coastguard Worker  string pending_managed_certificate_id = 4;
94*d5c09012SAndroid Build Coastguard Worker}
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker// A DNS resource record.
97*d5c09012SAndroid Build Coastguard Workermessage ResourceRecord {
98*d5c09012SAndroid Build Coastguard Worker  // A resource record type.
99*d5c09012SAndroid Build Coastguard Worker  enum RecordType {
100*d5c09012SAndroid Build Coastguard Worker    // An unknown resource record.
101*d5c09012SAndroid Build Coastguard Worker    RECORD_TYPE_UNSPECIFIED = 0;
102*d5c09012SAndroid Build Coastguard Worker
103*d5c09012SAndroid Build Coastguard Worker    // An A resource record. Data is an IPv4 address.
104*d5c09012SAndroid Build Coastguard Worker    A = 1;
105*d5c09012SAndroid Build Coastguard Worker
106*d5c09012SAndroid Build Coastguard Worker    // An AAAA resource record. Data is an IPv6 address.
107*d5c09012SAndroid Build Coastguard Worker    AAAA = 2;
108*d5c09012SAndroid Build Coastguard Worker
109*d5c09012SAndroid Build Coastguard Worker    // A CNAME resource record. Data is a domain name to be aliased.
110*d5c09012SAndroid Build Coastguard Worker    CNAME = 3;
111*d5c09012SAndroid Build Coastguard Worker  }
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // Relative name of the object affected by this record. Only applicable for
114*d5c09012SAndroid Build Coastguard Worker  // `CNAME` records. Example: 'www'.
115*d5c09012SAndroid Build Coastguard Worker  string name = 1;
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // Data for this record. Values vary by record type, as defined in RFC 1035
118*d5c09012SAndroid Build Coastguard Worker  // (section 5) and RFC 1034 (section 3.6.1).
119*d5c09012SAndroid Build Coastguard Worker  string rrdata = 2;
120*d5c09012SAndroid Build Coastguard Worker
121*d5c09012SAndroid Build Coastguard Worker  // Resource record type. Example: `AAAA`.
122*d5c09012SAndroid Build Coastguard Worker  RecordType type = 3;
123*d5c09012SAndroid Build Coastguard Worker}
124