xref: /aosp_15_r20/external/googleapis/google/appengine/v1beta/domain_mapping.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 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.v1beta;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Worker
20*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.AppEngine.V1Beta";
21*d5c09012SAndroid Build Coastguard Workeroption go_package = "google.golang.org/genproto/googleapis/appengine/v1beta;appengine";
22*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
23*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "DomainMappingProto";
24*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.appengine.v1beta";
25*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\AppEngine\\V1beta";
26*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::AppEngine::V1beta";
27*d5c09012SAndroid Build Coastguard Worker
28*d5c09012SAndroid Build Coastguard Worker// A domain serving an App Engine application.
29*d5c09012SAndroid Build Coastguard Workermessage DomainMapping {
30*d5c09012SAndroid Build Coastguard Worker  // Full path to the `DomainMapping` resource in the API. Example:
31*d5c09012SAndroid Build Coastguard Worker  // `apps/myapp/domainMapping/example.com`.
32*d5c09012SAndroid Build Coastguard Worker  //
33*d5c09012SAndroid Build Coastguard Worker  // @OutputOnly
34*d5c09012SAndroid Build Coastguard Worker  string name = 1;
35*d5c09012SAndroid Build Coastguard Worker
36*d5c09012SAndroid Build Coastguard Worker  // Relative name of the domain serving the application. Example:
37*d5c09012SAndroid Build Coastguard Worker  // `example.com`.
38*d5c09012SAndroid Build Coastguard Worker  string id = 2;
39*d5c09012SAndroid Build Coastguard Worker
40*d5c09012SAndroid Build Coastguard Worker  // SSL configuration for this domain. If unconfigured, this domain will not
41*d5c09012SAndroid Build Coastguard Worker  // serve with SSL.
42*d5c09012SAndroid Build Coastguard Worker  SslSettings ssl_settings = 3;
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // The resource records required to configure this domain mapping. These
45*d5c09012SAndroid Build Coastguard Worker  // records must be added to the domain's DNS configuration in order to
46*d5c09012SAndroid Build Coastguard Worker  // serve the application via this domain mapping.
47*d5c09012SAndroid Build Coastguard Worker  //
48*d5c09012SAndroid Build Coastguard Worker  // @OutputOnly
49*d5c09012SAndroid Build Coastguard Worker  repeated ResourceRecord resource_records = 4;
50*d5c09012SAndroid Build Coastguard Worker}
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker// SSL configuration for a `DomainMapping` resource.
53*d5c09012SAndroid Build Coastguard Workermessage SslSettings {
54*d5c09012SAndroid Build Coastguard Worker  // The SSL management type for this domain.
55*d5c09012SAndroid Build Coastguard Worker  enum SslManagementType {
56*d5c09012SAndroid Build Coastguard Worker    // SSL support for this domain is configured automatically. The mapped SSL
57*d5c09012SAndroid Build Coastguard Worker    // certificate will be automatically renewed.
58*d5c09012SAndroid Build Coastguard Worker    AUTOMATIC = 0;
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker    // SSL support for this domain is configured manually by the user. Either
61*d5c09012SAndroid Build Coastguard Worker    // the domain has no SSL support or a user-obtained SSL certificate has been
62*d5c09012SAndroid Build Coastguard Worker    // explictly mapped to this domain.
63*d5c09012SAndroid Build Coastguard Worker    MANUAL = 1;
64*d5c09012SAndroid Build Coastguard Worker  }
65*d5c09012SAndroid Build Coastguard Worker
66*d5c09012SAndroid Build Coastguard Worker  // ID of the `AuthorizedCertificate` resource configuring SSL for the
67*d5c09012SAndroid Build Coastguard Worker  // application. Clearing this field will remove SSL support.
68*d5c09012SAndroid Build Coastguard Worker  //
69*d5c09012SAndroid Build Coastguard Worker  // By default, a managed certificate is automatically created for every
70*d5c09012SAndroid Build Coastguard Worker  // domain mapping. To omit SSL support or to configure SSL manually, specify
71*d5c09012SAndroid Build Coastguard Worker  // `SslManagementType.MANUAL` on a `CREATE` or `UPDATE` request. You must
72*d5c09012SAndroid Build Coastguard Worker  // be authorized to administer the `AuthorizedCertificate` resource to
73*d5c09012SAndroid Build Coastguard Worker  // manually map it to a `DomainMapping` resource.
74*d5c09012SAndroid Build Coastguard Worker  // Example: `12345`.
75*d5c09012SAndroid Build Coastguard Worker  string certificate_id = 1;
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker  // SSL management type for this domain. If `AUTOMATIC`, a managed certificate
78*d5c09012SAndroid Build Coastguard Worker  // is automatically provisioned. If `MANUAL`, `certificate_id` must be
79*d5c09012SAndroid Build Coastguard Worker  // manually specified in order to configure SSL for this domain.
80*d5c09012SAndroid Build Coastguard Worker  SslManagementType ssl_management_type = 3;
81*d5c09012SAndroid Build Coastguard Worker
82*d5c09012SAndroid Build Coastguard Worker  // ID of the managed `AuthorizedCertificate` resource currently being
83*d5c09012SAndroid Build Coastguard Worker  // provisioned, if applicable. Until the new managed certificate has been
84*d5c09012SAndroid Build Coastguard Worker  // successfully provisioned, the previous SSL state will be preserved. Once
85*d5c09012SAndroid Build Coastguard Worker  // the provisioning process completes, the `certificate_id` field will reflect
86*d5c09012SAndroid Build Coastguard Worker  // the new managed certificate and this field will be left empty. To remove
87*d5c09012SAndroid Build Coastguard Worker  // SSL support while there is still a pending managed certificate, clear the
88*d5c09012SAndroid Build Coastguard Worker  // `certificate_id` field with an `UpdateDomainMappingRequest`.
89*d5c09012SAndroid Build Coastguard Worker  //
90*d5c09012SAndroid Build Coastguard Worker  // @OutputOnly
91*d5c09012SAndroid Build Coastguard Worker  string pending_managed_certificate_id = 4;
92*d5c09012SAndroid Build Coastguard Worker}
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker// A DNS resource record.
95*d5c09012SAndroid Build Coastguard Workermessage ResourceRecord {
96*d5c09012SAndroid Build Coastguard Worker  // A resource record type.
97*d5c09012SAndroid Build Coastguard Worker  enum RecordType {
98*d5c09012SAndroid Build Coastguard Worker    // An A resource record. Data is an IPv4 address.
99*d5c09012SAndroid Build Coastguard Worker    A = 0;
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker    // An AAAA resource record. Data is an IPv6 address.
102*d5c09012SAndroid Build Coastguard Worker    AAAA = 1;
103*d5c09012SAndroid Build Coastguard Worker
104*d5c09012SAndroid Build Coastguard Worker    // A CNAME resource record. Data is a domain name to be aliased.
105*d5c09012SAndroid Build Coastguard Worker    CNAME = 2;
106*d5c09012SAndroid Build Coastguard Worker  }
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker  // Relative name of the object affected by this record. Only applicable for
109*d5c09012SAndroid Build Coastguard Worker  // `CNAME` records. Example: 'www'.
110*d5c09012SAndroid Build Coastguard Worker  string name = 1;
111*d5c09012SAndroid Build Coastguard Worker
112*d5c09012SAndroid Build Coastguard Worker  // Data for this record. Values vary by record type, as defined in RFC 1035
113*d5c09012SAndroid Build Coastguard Worker  // (section 5) and RFC 1034 (section 3.6.1).
114*d5c09012SAndroid Build Coastguard Worker  string rrdata = 2;
115*d5c09012SAndroid Build Coastguard Worker
116*d5c09012SAndroid Build Coastguard Worker  // Resource record type. Example: `AAAA`.
117*d5c09012SAndroid Build Coastguard Worker  RecordType type = 3;
118*d5c09012SAndroid Build Coastguard Worker}
119