diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/domains/v1alpha2')
4 files changed, 1655 insertions, 0 deletions
diff --git a/third_party/googleapis/google/cloud/domains/v1alpha2/BUILD.bazel b/third_party/googleapis/google/cloud/domains/v1alpha2/BUILD.bazel new file mode 100644 index 0000000..9281a7e --- /dev/null +++ b/third_party/googleapis/google/cloud/domains/v1alpha2/BUILD.bazel @@ -0,0 +1,371 @@ +# This file was automatically generated by BuildFileGenerator +# https://github.com/googleapis/rules_gapic/tree/master/bazel + +# Most of the manual changes to this file will be overwritten. +# It's **only** allowed to change the following rule attribute values: +# - names of *_gapic_assembly_* rules +# - certain parameters of *_gapic_library rules, including but not limited to: +# * extra_protoc_parameters +# * extra_protoc_file_parameters +# The complete list of preserved parameters can be found in the source code. + +# This is an API workspace, having public visibility by default makes perfect sense. +package(default_visibility = ["//visibility:public"]) + +############################################################################## +# Common +############################################################################## +load("@rules_proto//proto:defs.bzl", "proto_library") +load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") + +proto_library( + name = "domains_proto", + srcs = [ + "domains.proto", + ], + deps = [ + "//google/api:annotations_proto", + "//google/api:client_proto", + "//google/api:field_behavior_proto", + "//google/api:resource_proto", + "//google/longrunning:operations_proto", + "//google/type:money_proto", + "//google/type:postal_address_proto", + "@com_google_protobuf//:field_mask_proto", + "@com_google_protobuf//:timestamp_proto", + ], +) + +proto_library_with_info( + name = "domains_proto_with_info", + deps = [ + ":domains_proto", + "//google/cloud:common_resources_proto", + ], +) + +############################################################################## +# Java +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "java_gapic_assembly_gradle_pkg", + "java_gapic_library", + "java_gapic_test", + "java_grpc_library", + "java_proto_library", +) + +java_proto_library( + name = "domains_java_proto", + deps = [":domains_proto"], +) + +java_grpc_library( + name = "domains_java_grpc", + srcs = [":domains_proto"], + deps = [":domains_java_proto"], +) + +java_gapic_library( + name = "domains_java_gapic", + srcs = [":domains_proto_with_info"], + gapic_yaml = None, + grpc_service_config = "domains_grpc_service_config.json", + service_yaml = "domains_v1alpha2.yaml", + test_deps = [ + ":domains_java_grpc", + ], + transport = "grpc+rest", + deps = [ + ":domains_java_proto", + "//google/api:api_java_proto", + "//google/type:type_java_proto", + ], +) + +java_gapic_test( + name = "domains_java_gapic_test_suite", + test_classes = [ + "com.google.cloud.domains.v1alpha2.DomainsClientHttpJsonTest", + "com.google.cloud.domains.v1alpha2.DomainsClientTest", + ], + runtime_deps = [":domains_java_gapic_test"], +) + +# Open Source Packages +java_gapic_assembly_gradle_pkg( + name = "google-cloud-domains-v1alpha2-java", + include_samples = True, + transport = "grpc+rest", + deps = [ + ":domains_java_gapic", + ":domains_java_grpc", + ":domains_java_proto", + ":domains_proto", + ], +) + +############################################################################## +# Go +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "go_gapic_assembly_pkg", + "go_gapic_library", + "go_proto_library", + "go_test", +) + +go_proto_library( + name = "domains_go_proto", + compilers = ["@io_bazel_rules_go//proto:go_grpc"], + importpath = "google.golang.org/genproto/googleapis/cloud/domains/v1alpha2", + protos = [":domains_proto"], + deps = [ + "//google/api:annotations_go_proto", + "//google/longrunning:longrunning_go_proto", + "//google/type:money_go_proto", + "//google/type:postaladdress_go_proto", + ], +) + +go_gapic_library( + name = "domains_go_gapic", + srcs = [":domains_proto_with_info"], + grpc_service_config = "domains_grpc_service_config.json", + importpath = "cloud.google.com/go/domains/apiv1alpha2;domains", + metadata = True, + service_yaml = "domains_v1alpha2.yaml", + transport = "grpc+rest", + deps = [ + ":domains_go_proto", + "//google/longrunning:longrunning_go_proto", + "@com_google_cloud_go//longrunning:go_default_library", + "@com_google_cloud_go//longrunning/autogen:go_default_library", + ], +) + +go_test( + name = "domains_go_gapic_test", + srcs = [":domains_go_gapic_srcjar_test"], + embed = [":domains_go_gapic"], + importpath = "cloud.google.com/go/domains/apiv1alpha2", +) + +# Open Source Packages +go_gapic_assembly_pkg( + name = "gapi-cloud-domains-v1alpha2-go", + deps = [ + ":domains_go_gapic", + ":domains_go_gapic_srcjar-metadata.srcjar", + ":domains_go_gapic_srcjar-test.srcjar", + ":domains_go_proto", + ], +) + +############################################################################## +# Python +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "py_gapic_assembly_pkg", + "py_gapic_library", + "py_test", +) + +py_gapic_library( + name = "domains_py_gapic", + srcs = [":domains_proto"], + grpc_service_config = "domains_grpc_service_config.json", + transport = "grpc", +) + +py_test( + name = "domains_py_gapic_test", + srcs = [ + "domains_py_gapic_pytest.py", + "domains_py_gapic_test.py", + ], + legacy_create_init = False, + deps = [":domains_py_gapic"], +) + +# Open Source Packages +py_gapic_assembly_pkg( + name = "domains-v1alpha2-py", + deps = [ + ":domains_py_gapic", + ], +) + +############################################################################## +# PHP +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "php_gapic_assembly_pkg", + "php_gapic_library", + "php_grpc_library", + "php_proto_library", +) + +php_proto_library( + name = "domains_php_proto", + deps = [":domains_proto"], +) + +php_grpc_library( + name = "domains_php_grpc", + srcs = [":domains_proto"], + deps = [":domains_php_proto"], +) + +php_gapic_library( + name = "domains_php_gapic", + srcs = [":domains_proto_with_info"], + grpc_service_config = "domains_grpc_service_config.json", + service_yaml = "domains_v1alpha2.yaml", + deps = [ + ":domains_php_grpc", + ":domains_php_proto", + ], +) + +# Open Source Packages +php_gapic_assembly_pkg( + name = "google-cloud-domains-v1alpha2-php", + deps = [ + ":domains_php_gapic", + ":domains_php_grpc", + ":domains_php_proto", + ], +) + +############################################################################## +# Node.js +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "nodejs_gapic_assembly_pkg", + "nodejs_gapic_library", +) + +nodejs_gapic_library( + name = "domains_nodejs_gapic", + package_name = "@google-cloud/domains", + src = ":domains_proto_with_info", + extra_protoc_parameters = ["metadata"], + grpc_service_config = "domains_grpc_service_config.json", + package = "google.cloud.domains.v1alpha2", + service_yaml = "domains_v1alpha2.yaml", + deps = [], +) + +nodejs_gapic_assembly_pkg( + name = "domains-v1alpha2-nodejs", + deps = [ + ":domains_nodejs_gapic", + ":domains_proto", + ], +) + +############################################################################## +# Ruby +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "ruby_cloud_gapic_library", + "ruby_gapic_assembly_pkg", + "ruby_grpc_library", + "ruby_proto_library", +) + +ruby_proto_library( + name = "domains_ruby_proto", + deps = [":domains_proto"], +) + +ruby_grpc_library( + name = "domains_ruby_grpc", + srcs = [":domains_proto"], + deps = [":domains_ruby_proto"], +) + +ruby_cloud_gapic_library( + name = "domains_ruby_gapic", + srcs = [":domains_proto_with_info"], + extra_protoc_parameters = [ + "ruby-cloud-api-id=domains.googleapis.com", + "ruby-cloud-api-shortname=domains", + "ruby-cloud-env-prefix=DOMAINS", + "ruby-cloud-gem-name=google-cloud-domains-v1alpha2", + "ruby-cloud-product-url=https://cloud.google.com/domains", + ], + grpc_service_config = "domains_grpc_service_config.json", + ruby_cloud_description = "The Cloud Domains API provides registration, management and configuration of domain names.", + ruby_cloud_title = "Cloud Domains V1alpha2", + deps = [ + ":domains_ruby_grpc", + ":domains_ruby_proto", + ], +) + +# Open Source Packages +ruby_gapic_assembly_pkg( + name = "google-cloud-domains-v1alpha2-ruby", + deps = [ + ":domains_ruby_gapic", + ":domains_ruby_grpc", + ":domains_ruby_proto", + ], +) + +############################################################################## +# C# +############################################################################## +load( + "@com_google_googleapis_imports//:imports.bzl", + "csharp_gapic_assembly_pkg", + "csharp_gapic_library", + "csharp_grpc_library", + "csharp_proto_library", +) + +csharp_proto_library( + name = "domains_csharp_proto", + deps = [":domains_proto"], +) + +csharp_grpc_library( + name = "domains_csharp_grpc", + srcs = [":domains_proto"], + deps = [":domains_csharp_proto"], +) + +csharp_gapic_library( + name = "domains_csharp_gapic", + srcs = [":domains_proto_with_info"], + common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", + grpc_service_config = "domains_grpc_service_config.json", + service_yaml = "domains_v1alpha2.yaml", + deps = [ + ":domains_csharp_grpc", + ":domains_csharp_proto", + ], +) + +# Open Source Packages +csharp_gapic_assembly_pkg( + name = "google-cloud-domains-v1alpha2-csharp", + deps = [ + ":domains_csharp_gapic", + ":domains_csharp_grpc", + ":domains_csharp_proto", + ], +) + +############################################################################## +# C++ +############################################################################## +# Put your C++ rules here diff --git a/third_party/googleapis/google/cloud/domains/v1alpha2/domains.proto b/third_party/googleapis/google/cloud/domains/v1alpha2/domains.proto new file mode 100644 index 0000000..8f4273c --- /dev/null +++ b/third_party/googleapis/google/cloud/domains/v1alpha2/domains.proto @@ -0,0 +1,1147 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.domains.v1alpha2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; +import "google/type/postal_address.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/domains/v1alpha2;domains"; +option java_multiple_files = true; +option java_outer_classname = "DomainsProto"; +option java_package = "com.google.cloud.domains.v1alpha2"; + +// The Cloud Domains API enables management and configuration of domain names. +service Domains { + option (google.api.default_host) = "domains.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Searches for available domain names similar to the provided query. + // + // Availability results from this method are approximate; call + // `RetrieveRegisterParameters` on a domain before registering to confirm + // availability. + rpc SearchDomains(SearchDomainsRequest) returns (SearchDomainsResponse) { + option (google.api.http) = { + get: "/v1alpha2/{location=projects/*/locations/*}/registrations:searchDomains" + }; + option (google.api.method_signature) = "location,query"; + } + + // Gets parameters needed to register a new domain name, including price and + // up-to-date availability. Use the returned values to call `RegisterDomain`. + rpc RetrieveRegisterParameters(RetrieveRegisterParametersRequest) returns (RetrieveRegisterParametersResponse) { + option (google.api.http) = { + get: "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Registers a new domain name and creates a corresponding `Registration` + // resource. + // + // Call `RetrieveRegisterParameters` first to check availability of the domain + // name and determine parameters like price that are needed to build a call to + // this method. + // + // A successful call creates a `Registration` resource in state + // `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + // minutes, indicating that the domain was successfully registered. If the + // resource ends up in state `REGISTRATION_FAILED`, it indicates that the + // domain was not registered successfully, and you can safely delete the + // resource and retry registration. + rpc RegisterDomain(RegisterDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{parent=projects/*/locations/*}/registrations:register" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Gets parameters needed to transfer a domain name from another registrar to + // Cloud Domains. For domains managed by Google Domains, transferring to Cloud + // Domains is not supported. + // + // + // Use the returned values to call `TransferDomain`. + rpc RetrieveTransferParameters(RetrieveTransferParametersRequest) returns (RetrieveTransferParametersResponse) { + option (google.api.http) = { + get: "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Transfers a domain name from another registrar to Cloud Domains. For + // domains managed by Google Domains, transferring to Cloud Domains is not + // supported. + // + // + // Before calling this method, go to the domain's current registrar to unlock + // the domain for transfer and retrieve the domain's transfer authorization + // code. Then call `RetrieveTransferParameters` to confirm that the domain is + // unlocked and to get values needed to build a call to this method. + // + // A successful call creates a `Registration` resource in state + // `TRANSFER_PENDING`. It can take several days to complete the transfer + // process. The registrant can often speed up this process by approving the + // transfer through the current registrar, either by clicking a link in an + // email from the registrar or by visiting the registrar's website. + // + // A few minutes after transfer approval, the resource transitions to state + // `ACTIVE`, indicating that the transfer was successful. If the transfer is + // rejected or the request expires without being approved, the resource can + // end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + // the resource and retry the transfer. + rpc TransferDomain(TransferDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{parent=projects/*/locations/*}/registrations:transfer" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price,authorization_code"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Lists the `Registration` resources in a project. + rpc ListRegistrations(ListRegistrationsRequest) returns (ListRegistrationsResponse) { + option (google.api.http) = { + get: "/v1alpha2/{parent=projects/*/locations/*}/registrations" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a `Registration` resource. + rpc GetRegistration(GetRegistrationRequest) returns (Registration) { + option (google.api.http) = { + get: "/v1alpha2/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates select fields of a `Registration` resource, notably `labels`. To + // update other fields, use the appropriate custom update method: + // + // * To update management settings, see `ConfigureManagementSettings` + // * To update DNS configuration, see `ConfigureDnsSettings` + // * To update contact information, see `ConfigureContactSettings` + rpc UpdateRegistration(UpdateRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1alpha2/{registration.name=projects/*/locations/*/registrations/*}" + body: "registration" + }; + option (google.api.method_signature) = "registration,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s management settings. + rpc ConfigureManagementSettings(ConfigureManagementSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,management_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s DNS settings. + rpc ConfigureDnsSettings(ConfigureDnsSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,dns_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s contact settings. Some changes require + // confirmation by the domain's registrant contact . + rpc ConfigureContactSettings(ConfigureContactSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureContactSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,contact_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Exports a `Registration` resource, such that it is no longer managed by + // Cloud Domains. + // + // When an active domain is successfully exported, you can continue to use the + // domain in [Google Domains](https://domains.google/) until it expires. The + // calling user becomes the domain's sole owner in Google Domains, and + // permissions for the domain are subsequently managed there. The domain does + // not renew automatically unless the new owner sets up billing in Google + // Domains. + rpc ExportRegistration(ExportRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{name=projects/*/locations/*/registrations/*}:export" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a `Registration` resource. + // + // This method works on any `Registration` resource using [Subscription or + // Commitment billing](/domains/pricing#billing-models), provided that the + // resource was created at least 1 day in the past. + // + // For `Registration` resources using + // [Monthly billing](/domains/pricing#billing-models), this method works if: + // + // * `state` is `EXPORTED` with `expire_time` in the past + // * `state` is `REGISTRATION_FAILED` + // * `state` is `TRANSFER_FAILED` + // + // When an active registration is successfully deleted, you can continue to + // use the domain in [Google Domains](https://domains.google/) until it + // expires. The calling user becomes the domain's sole owner in Google + // Domains, and permissions for the domain are subsequently managed there. The + // domain does not renew automatically unless the new owner sets up billing in + // Google Domains. + rpc DeleteRegistration(DeleteRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha2/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Gets the authorization code of the `Registration` for the purpose of + // transferring the domain to another registrar. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc RetrieveAuthorizationCode(RetrieveAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + get: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + }; + option (google.api.method_signature) = "registration"; + } + + // Resets the authorization code of the `Registration` to a new random string. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc ResetAuthorizationCode(ResetAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode" + body: "*" + }; + option (google.api.method_signature) = "registration"; + } +} + +// The `Registration` resource facilitates managing and configuring domain name +// registrations. +// +// There are several ways to create a new `Registration` resource: +// +// To create a new `Registration` resource, find a suitable domain name by +// calling the `SearchDomains` method with a query to see available domain name +// options. After choosing a name, call `RetrieveRegisterParameters` to +// ensure availability and obtain information like pricing, which is needed to +// build a call to `RegisterDomain`. +// +// Another way to create a new `Registration` is to transfer an existing +// domain from another registrar. First, go to the current registrar to unlock +// the domain for transfer and retrieve the domain's transfer authorization +// code. Then call `RetrieveTransferParameters` to confirm that the domain is +// unlocked and to get values needed to build a call to `TransferDomain`. +message Registration { + option (google.api.resource) = { + type: "domains.googleapis.com/Registration" + pattern: "projects/{project}/locations/{location}/registrations/{registration}" + }; + + // Possible states of a `Registration`. + enum State { + // The state is undefined. + STATE_UNSPECIFIED = 0; + + // The domain is being registered. + REGISTRATION_PENDING = 1; + + // The domain registration failed. You can delete resources in this state + // to allow registration to be retried. + REGISTRATION_FAILED = 2; + + // The domain is being transferred from another registrar to Cloud Domains. + TRANSFER_PENDING = 3; + + // The attempt to transfer the domain from another registrar to + // Cloud Domains failed. You can delete resources in this state and retry + // the transfer. + TRANSFER_FAILED = 4; + + // The domain is registered and operational. The domain renews automatically + // as long as it remains in this state. + ACTIVE = 6; + + // The domain is suspended and inoperative. For more details, see the + // `issues` field. + SUSPENDED = 7; + + // The domain is no longer managed with Cloud Domains. It may have been + // transferred to another registrar or exported for management in + // [Google Domains](https://domains.google/). You can no longer update it + // with this API, and information shown about it may be stale. Domains in + // this state are not automatically renewed by Cloud Domains. + EXPORTED = 8; + } + + // Possible issues with a `Registration` that require attention. + enum Issue { + // The issue is undefined. + ISSUE_UNSPECIFIED = 0; + + // Contact the Cloud Support team to resolve a problem with this domain. + CONTACT_SUPPORT = 1; + + // [ICANN](https://icann.org/) requires verification of the email address + // in the `Registration`'s `contact_settings.registrant_contact` field. To + // verify the email address, follow the + // instructions in the email the `registrant_contact` receives following + // registration. If you do not complete email verification within + // 15 days of registration, the domain is suspended. To resend the + // verification email, call ConfigureContactSettings and provide the current + // `registrant_contact.email`. + UNVERIFIED_EMAIL = 2; + } + + // Output only. Name of the `Registration` resource, in the format + // `projects/*/locations/*/registrations/<domain_name>`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The creation timestamp of the `Registration` resource. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The expiration timestamp of the `Registration`. + google.protobuf.Timestamp expire_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the `Registration` + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The set of issues with the `Registration` that require attention. + repeated Issue issues = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Set of labels associated with the `Registration`. + map<string, string> labels = 9; + + // Settings for management of the `Registration`, including renewal, billing, + // and transfer. You cannot update these with the `UpdateRegistration` + // method. To update these settings, use the `ConfigureManagementSettings` + // method. + ManagementSettings management_settings = 10; + + // Settings controlling the DNS configuration of the `Registration`. You + // cannot update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureDnsSettings` method. + DnsSettings dns_settings = 11; + + // Required. Settings for contact information linked to the `Registration`. You cannot + // update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureContactSettings` method. + ContactSettings contact_settings = 12 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Pending contact settings for the `Registration`. Updates to the + // `contact_settings` field that change its `registrant_contact` or `privacy` + // fields require email confirmation by the `registrant_contact` + // before taking effect. This field is set only if there are pending updates + // to the `contact_settings` that have not been confirmed. To confirm the + // changes, the `registrant_contact` must follow the instructions in the + // email they receive. + ContactSettings pending_contact_settings = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of options for the `contact_settings.privacy` field that this + // `Registration` supports. + repeated ContactPrivacy supported_privacy = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines renewal, billing, and transfer settings for a `Registration`. +message ManagementSettings { + // Defines how the `Registration` is renewed. + enum RenewalMethod { + // The renewal method is undefined. + RENEWAL_METHOD_UNSPECIFIED = 0; + + // The domain is automatically renewed each year . + // + // To disable automatic renewals, delete the resource by calling + // `DeleteRegistration` or export it by calling `ExportRegistration`. + AUTOMATIC_RENEWAL = 1; + + // The domain must be explicitly renewed each year before its + // `expire_time`. This option is only available when the `Registration` + // is in state `EXPORTED`. + // + // To manage the domain's current billing and + // renewal settings, go to [Google Domains](https://domains.google/). + MANUAL_RENEWAL = 2; + } + + // Output only. The renewal method for this `Registration`. + RenewalMethod renewal_method = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Controls whether the domain can be transferred to another registrar. + TransferLockState transfer_lock_state = 4; +} + +// Defines the DNS configuration of a `Registration`, including name servers, +// DNSSEC, and glue records. +message DnsSettings { + // Configuration for an arbitrary DNS provider. + message CustomDns { + // Required. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. + repeated string name_servers = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of DS records for this domain, which are used to enable DNSSEC. + // The domain's DNS provider can provide the values to set here. If this + // field is empty, DNSSEC is disabled. + repeated DsRecord ds_records = 2; + } + + // Configuration for using the free DNS zone provided by Google Domains as a + // `Registration`'s `dns_provider`. You cannot configure the DNS zone itself + // using the API. To configure the DNS zone, go to + // [Google Domains](https://domains.google/). + message GoogleDomainsDns { + // Output only. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. This field is automatically populated with the name + // servers assigned to the Google Domains DNS zone. + repeated string name_servers = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The state of DS records for this domain. Used to enable or disable + // automatic DNSSEC. + DsState ds_state = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The list of DS records published for this domain. The list is + // automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, + // otherwise it remains empty. + repeated DsRecord ds_records = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC + // for a domain. It contains a digest (hash) of a DNSKEY record that must be + // present in the domain's DNS zone. + message DsRecord { + // List of algorithms used to create a DNSKEY. Certain + // algorithms are not supported for particular domains. + enum Algorithm { + // The algorithm is unspecified. + ALGORITHM_UNSPECIFIED = 0; + + // RSA/MD5. Cannot be used for new deployments. + RSAMD5 = 1; + + // Diffie-Hellman. Cannot be used for new deployments. + DH = 2; + + // DSA/SHA1. Not recommended for new deployments. + DSA = 3; + + // ECC. Not recommended for new deployments. + ECC = 4; + + // RSA/SHA-1. Not recommended for new deployments. + RSASHA1 = 5; + + // DSA-NSEC3-SHA1. Not recommended for new deployments. + DSANSEC3SHA1 = 6; + + // RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments. + RSASHA1NSEC3SHA1 = 7; + + // RSA/SHA-256. + RSASHA256 = 8; + + // RSA/SHA-512. + RSASHA512 = 10; + + // GOST R 34.10-2001. + ECCGOST = 12; + + // ECDSA Curve P-256 with SHA-256. + ECDSAP256SHA256 = 13; + + // ECDSA Curve P-384 with SHA-384. + ECDSAP384SHA384 = 14; + + // Ed25519. + ED25519 = 15; + + // Ed448. + ED448 = 16; + + // Reserved for Indirect Keys. Cannot be used for new deployments. + INDIRECT = 252; + + // Private algorithm. Cannot be used for new deployments. + PRIVATEDNS = 253; + + // Private algorithm OID. Cannot be used for new deployments. + PRIVATEOID = 254; + } + + // List of hash functions that may have been used to generate a digest of a + // DNSKEY. + enum DigestType { + // The DigestType is unspecified. + DIGEST_TYPE_UNSPECIFIED = 0; + + // SHA-1. Not recommended for new deployments. + SHA1 = 1; + + // SHA-256. + SHA256 = 2; + + // GOST R 34.11-94. + GOST3411 = 3; + + // SHA-384. + SHA384 = 4; + } + + // The key tag of the record. Must be set in range 0 -- 65535. + int32 key_tag = 1; + + // The algorithm used to generate the referenced DNSKEY. + Algorithm algorithm = 2; + + // The hash function used to generate the digest of the referenced DNSKEY. + DigestType digest_type = 3; + + // The digest generated from the referenced DNSKEY. + string digest = 4; + } + + // Defines a host on your domain that is a DNS name server for your domain + // and/or other domains. Glue records are a way of making the IP address of a + // name server known, even when it serves DNS queries for its parent domain. + // For example, when `ns.example.com` is a name server for `example.com`, the + // host `ns.example.com` must have a glue record to break the circular DNS + // reference. + message GlueRecord { + // Required. Domain name of the host in Punycode format. + string host_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // List of IPv4 addresses corresponding to this host in the standard decimal + // format (e.g. `198.51.100.1`). At least one of `ipv4_address` and + // `ipv6_address` must be set. + repeated string ipv4_addresses = 2; + + // List of IPv6 addresses corresponding to this host in the standard + // hexadecimal format (e.g. `2001:db8::`). At least one of + // `ipv4_address` and `ipv6_address` must be set. + repeated string ipv6_addresses = 3; + } + + // The publication state of DS records for a `Registration`. + enum DsState { + // DS state is unspecified. + DS_STATE_UNSPECIFIED = 0; + + // DNSSEC is disabled for this domain. No DS records for this domain are + // published in the parent DNS zone. + DS_RECORDS_UNPUBLISHED = 1; + + // DNSSEC is enabled for this domain. Appropriate DS records for this domain + // are published in the parent DNS zone. This option is valid only if the + // DNS zone referenced in the `Registration`'s `dns_provider` field is + // already DNSSEC-signed. + DS_RECORDS_PUBLISHED = 2; + } + + // The DNS provider of the registration. + oneof dns_provider { + // An arbitrary DNS provider identified by its name servers. + CustomDns custom_dns = 1; + + // The free DNS zone provided by + // [Google Domains](https://domains.google/). + GoogleDomainsDns google_domains_dns = 2; + } + + // The list of glue records for this `Registration`. Commonly empty. + repeated GlueRecord glue_records = 4; +} + +// Defines the contact information associated with a `Registration`. +// +// [ICANN](https://icann.org/) requires all domain names to have associated +// contact information. The `registrant_contact` is considered the +// domain's legal owner, and often the other contacts are identical. +message ContactSettings { + // Details required for a contact associated with a `Registration`. + message Contact { + // Required. Postal address of the contact. + google.type.PostalAddress postal_address = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Email address of the contact. + string email = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Phone number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string phone_number = 3 [(google.api.field_behavior) = REQUIRED]; + + // Fax number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string fax_number = 4; + } + + // Required. Privacy setting for the contacts associated with the `Registration`. + ContactPrivacy privacy = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The registrant contact for the `Registration`. + // + // *Caution: Anyone with access to this email address, phone number, + // and/or postal address can take control of the domain.* + // + // *Warning: For new `Registration`s, the registrant receives an email + // confirmation that they must complete within 15 days to avoid domain + // suspension.* + Contact registrant_contact = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The administrative contact for the `Registration`. + Contact admin_contact = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The technical contact for the `Registration`. + Contact technical_contact = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `SearchDomains` method. +message SearchDomainsRequest { + // Required. String used to search for available domain names. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `SearchDomains` method. +message SearchDomainsResponse { + // Results of the domain name search. + repeated RegisterParameters register_parameters = 1; +} + +// Request for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersResponse { + // Parameters to use when calling the `RegisterDomain` method. + RegisterParameters register_parameters = 1; +} + +// Request for the `RegisterDomain` method. +message RegisterDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of domain notices that you acknowledge. Call + // `RetrieveRegisterParameters` to see the notices that need acknowledgement. + repeated DomainNotice domain_notices = 3; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Required. Yearly price to register or renew the domain. + // The value that should be put here can be obtained from + // RetrieveRegisterParameters or SearchDomains calls. + google.type.Money yearly_price = 5 [(google.api.field_behavior) = REQUIRED]; + + // When true, only validation is performed, without actually registering + // the domain. Follows: + // https://cloud.google.com/apis/design/design_patterns#request_validation + bool validate_only = 6; +} + +// Request for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersResponse { + // Parameters to use when calling the `TransferDomain` method. + TransferParameters transfer_parameters = 1; +} + +// Request for the `TransferDomain` method. +message TransferDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + // + // You can leave `registration.dns_settings` unset to import the + // domain's current DNS configuration from its current registrar. Use this + // option only if you are sure that the domain's current DNS service + // does not cease upon transfer, as is often the case for DNS services + // provided for free by the registrar. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that you acknowledge. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 3; + + // Required. Acknowledgement of the price to transfer or renew the domain for one year. + // Call `RetrieveTransferParameters` to obtain the price, which you must + // acknowledge. + google.type.Money yearly_price = 4 [(google.api.field_behavior) = REQUIRED]; + + // The domain's transfer authorization code. You can obtain this from the + // domain's current registrar. + AuthorizationCode authorization_code = 5; + + // Validate the request without actually transferring the domain. + bool validate_only = 6; +} + +// Request for the `ListRegistrations` method. +message ListRegistrationsRequest { + // Required. The project and location from which to list `Registration`s, specified in + // the format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Maximum number of results to return. + int32 page_size = 2; + + // When set to the `next_page_token` from a prior response, provides the next + // page of results. + string page_token = 3; + + // Filter expression to restrict the `Registration`s returned. + // + // The expression must specify the field name, a comparison operator, and the + // value that you want to use for filtering. The value must be a string, a + // number, a boolean, or an enum value. The comparison operator should be one + // of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + // + // For example, to filter to a specific domain name, use an expression like + // `domainName="example.com"`. You can also check for the existence of a + // field; for example, to find domains using custom DNS settings, use an + // expression like `dnsSettings.customDns:*`. + // + // You can also create compound filters by combining expressions with the + // `AND` and `OR` operators. For example, to find domains that are suspended + // or have specific issues flagged, use an expression like + // `(state=SUSPENDED) OR (issue:*)`. + string filter = 4; +} + +// Response for the `ListRegistrations` method. +message ListRegistrationsResponse { + // A list of `Registration`s. + repeated Registration registrations = 1; + + // When present, there are more results to retrieve. Set `page_token` to this + // value on a subsequent call to get the next page of results. + string next_page_token = 2; +} + +// Request for the `GetRegistration` method. +message GetRegistrationRequest { + // Required. The name of the `Registration` to get, in the format + // `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `UpdateRegistration` method. +message UpdateRegistrationRequest { + // Fields of the `Registration` to update. + Registration registration = 1; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the labels are being updated, the `update_mask` is + // `"labels"`. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureManagementSettings` method. +message ConfigureManagementSettingsRequest { + // Required. The name of the `Registration` whose management settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ManagementSettings` to update. + ManagementSettings management_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the transfer lock is being updated, the `update_mask` + // is `"transfer_lock_state"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureDnsSettings` method. +message ConfigureDnsSettingsRequest { + // Required. The name of the `Registration` whose DNS settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `DnsSettings` to update. + DnsSettings dns_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the name servers are being updated for an existing + // Custom DNS configuration, the `update_mask` is + // `"custom_dns.name_servers"`. + // + // When changing the DNS provider from one type to another, pass the new + // provider's field name as part of the field mask. For example, when changing + // from a Google Domains DNS configuration to a Custom DNS configuration, the + // `update_mask` is `"custom_dns"`. // + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // Validate the request without actually updating the DNS settings. + bool validate_only = 4; +} + +// Request for the `ConfigureContactSettings` method. +message ConfigureContactSettingsRequest { + // Required. The name of the `Registration` whose contact settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ContactSettings` to update. + ContactSettings contact_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the registrant contact is being updated, the + // `update_mask` is `"registrant_contact"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in `contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Validate the request without actually updating the contact settings. + bool validate_only = 5; +} + +// Request for the `ExportRegistration` method. +message ExportRegistrationRequest { + // Required. The name of the `Registration` to export, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `DeleteRegistration` method. +message DeleteRegistrationRequest { + // Required. The name of the `Registration` to delete, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `RetrieveAuthorizationCode` method. +message RetrieveAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being retrieved, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `ResetAuthorizationCode` method. +message ResetAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being reset, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Parameters required to register a new domain. +message RegisterParameters { + // Possible availability states of a domain name. + enum Availability { + // The availability is unspecified. + AVAILABILITY_UNSPECIFIED = 0; + + // The domain is available for registration. + AVAILABLE = 1; + + // The domain is not available for registration. Generally this means it is + // already registered to another party. + UNAVAILABLE = 2; + + // The domain is not currently supported by Cloud Domains, but may + // be available elsewhere. + UNSUPPORTED = 3; + + // Cloud Domains is unable to determine domain availability, generally + // due to system maintenance at the domain name registry. + UNKNOWN = 4; + } + + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // Indicates whether the domain is available for registration. This value is + // accurate when obtained by calling `RetrieveRegisterParameters`, but is + // approximate when obtained by calling `SearchDomains`. + Availability availability = 2; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 3; + + // Notices about special properties of the domain. + repeated DomainNotice domain_notices = 4; + + // Price to register or renew the domain for one year. + google.type.Money yearly_price = 5; +} + +// Parameters required to transfer a domain from another registrar. +message TransferParameters { + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // The registrar that currently manages the domain. + string current_registrar = 2; + + // The name servers that currently store the configuration of the domain. + repeated string name_servers = 3; + + // Indicates whether the domain is protected by a transfer lock. For a + // transfer to succeed, this must show `UNLOCKED`. To unlock a domain, + // go to its current registrar. + TransferLockState transfer_lock_state = 4; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 5; + + // Price to transfer or renew the domain for one year. + google.type.Money yearly_price = 6; +} + +// Defines an authorization code. +message AuthorizationCode { + // The Authorization Code in ASCII. It can be used to transfer the domain + // to or from another registrar. + string code = 1; +} + +// Represents the metadata of the long-running operation. Output only. +message OperationMetadata { + // The time the operation was created. + google.protobuf.Timestamp create_time = 1; + + // The time the operation finished running. + google.protobuf.Timestamp end_time = 2; + + // Server-defined resource path for the target of the operation. + string target = 3; + + // Name of the verb executed by the operation. + string verb = 4; + + // Human-readable status of the operation, if any. + string status_detail = 5; + + // API version used to start the operation. + string api_version = 6; +} + +// Defines a set of possible contact privacy settings for a `Registration`. +// +// [ICANN](https://icann.org/) maintains the WHOIS database, a publicly +// accessible mapping from domain name to contact information, and requires that +// each domain name have an entry. Choose from these options to control how much +// information in your `ContactSettings` is published. +enum ContactPrivacy { + // The contact privacy settings are undefined. + CONTACT_PRIVACY_UNSPECIFIED = 0; + + // All the data from `ContactSettings` is publicly available. When setting + // this option, you must also provide a + // `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the + // request. + PUBLIC_CONTACT_DATA = 1; + + // None of the data from `ContactSettings` is publicly available. Instead, + // proxy contact data is published for your domain. Email sent to the proxy + // email address is forwarded to the registrant's email address. Cloud Domains + // provides this privacy proxy service at no additional cost. + PRIVATE_CONTACT_DATA = 2; + + // Some data from `ContactSettings` is publicly available. The actual + // information redacted depends on the domain. For details, see [the + // registration privacy + // article](https://support.google.com/domains/answer/3251242). + REDACTED_CONTACT_DATA = 3; +} + +// Notices about special properties of certain domains. +enum DomainNotice { + // The notice is undefined. + DOMAIN_NOTICE_UNSPECIFIED = 0; + + // Indicates that the domain is preloaded on the HTTP Strict Transport + // Security list in browsers. Serving a website on such domain requires + // an SSL certificate. For details, see + // [how to get an SSL + // certificate](https://support.google.com/domains/answer/7638036). + HSTS_PRELOADED = 1; +} + +// Notices related to contact information. +enum ContactNotice { + // The notice is undefined. + CONTACT_NOTICE_UNSPECIFIED = 0; + + // Required when setting the `privacy` field of `ContactSettings` to + // `PUBLIC_CONTACT_DATA`, which exposes contact data publicly. + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1; +} + +// Possible states of a `Registration`'s transfer lock. +enum TransferLockState { + // The state is unspecified. + TRANSFER_LOCK_STATE_UNSPECIFIED = 0; + + // The domain is unlocked and can be transferred to another registrar. + UNLOCKED = 1; + + // The domain is locked and cannot be transferred to another registrar. + LOCKED = 2; +} diff --git a/third_party/googleapis/google/cloud/domains/v1alpha2/domains_grpc_service_config.json b/third_party/googleapis/google/cloud/domains/v1alpha2/domains_grpc_service_config.json new file mode 100644 index 0000000..1a1d1f4 --- /dev/null +++ b/third_party/googleapis/google/cloud/domains/v1alpha2/domains_grpc_service_config.json @@ -0,0 +1,36 @@ +{ + "methodConfig": [ + { + "name": [ + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "SearchDomains" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "RetrieveRegisterParameters" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "RetrieveTransferParameters" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "ListRegistrations" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "GetRegistration" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "RetrieveAuthorizationCode" } + ], + "timeout": "60s", + "retryPolicy": { + "maxAttempts": 5, + "initialBackoff": "1s", + "maxBackoff": "10s", + "backoffMultiplier": 1.3, + "retryableStatusCodes": ["UNAVAILABLE"] + } + }, + { + "name": [ + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "RegisterDomain" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "TransferDomain" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "UpdateRegistration" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "ConfigureManagementSettings" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "ConfigureDnsSettings" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "ConfigureContactSettings" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "ExportRegistration" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "DeleteRegistration" }, + { "service": "google.cloud.domains.v1alpha2.DomainsService", "method": "ResetAuthorizationCode" } + ], + "timeout": "60s" + } + ] +} diff --git a/third_party/googleapis/google/cloud/domains/v1alpha2/domains_v1alpha2.yaml b/third_party/googleapis/google/cloud/domains/v1alpha2/domains_v1alpha2.yaml new file mode 100644 index 0000000..f5fadf8 --- /dev/null +++ b/third_party/googleapis/google/cloud/domains/v1alpha2/domains_v1alpha2.yaml @@ -0,0 +1,101 @@ +type: google.api.Service +config_version: 3 +name: domains.googleapis.com +title: Cloud Domains API + +apis: +- name: google.cloud.domains.v1alpha2.Domains + +types: +- name: google.cloud.domains.v1alpha2.OperationMetadata + +documentation: + summary: Enables management and configuration of domain names. + rules: + - selector: google.cloud.location.Locations.GetLocation + description: Gets information about a location. + + - selector: google.cloud.location.Locations.ListLocations + description: Lists information about the supported locations for this service. + + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + description: |- + Gets the access control policy for a resource. Returns an empty policy + if the resource exists and does not have a policy set. + + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + description: |- + Sets the access control policy on the specified resource. Replaces + any existing policy. + + Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` + errors. + + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + 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. + +backend: + rules: + - selector: 'google.cloud.domains.v1alpha2.Domains.*' + deadline: 60.0 + - selector: google.cloud.location.Locations.GetLocation + deadline: 60.0 + - selector: google.cloud.location.Locations.ListLocations + deadline: 60.0 + - selector: 'google.iam.v1.IAMPolicy.*' + deadline: 60.0 + - selector: google.longrunning.Operations.GetOperation + deadline: 5.0 + - selector: google.longrunning.Operations.ListOperations + deadline: 60.0 + - selector: google.longrunning.Operations.WaitOperation + deadline: 60.0 + +http: + rules: + - selector: google.cloud.location.Locations.GetLocation + get: '/v1alpha2/{name=projects/*/locations/*}' + - selector: google.cloud.location.Locations.ListLocations + get: '/v1alpha2/{name=projects/*}/locations' + - selector: google.iam.v1.IAMPolicy.GetIamPolicy + get: '/v1alpha2/{resource=projects/*/locations/*/registrations/*}:getIamPolicy' + - selector: google.iam.v1.IAMPolicy.SetIamPolicy + post: '/v1alpha2/{resource=projects/*/locations/*/registrations/*}:setIamPolicy' + body: '*' + - selector: google.iam.v1.IAMPolicy.TestIamPermissions + post: '/v1alpha2/{resource=projects/*/locations/*/registrations/*}:testIamPermissions' + body: '*' + - selector: google.longrunning.Operations.GetOperation + get: '/v1alpha2/{name=projects/*/locations/*/operations/*}' + - selector: google.longrunning.Operations.ListOperations + get: '/v1alpha2/{name=projects/*/locations/*}/operations' + +authentication: + rules: + - selector: 'google.cloud.domains.v1alpha2.Domains.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.location.Locations.GetLocation + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: google.cloud.location.Locations.ListLocations + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.iam.v1.IAMPolicy.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform + - selector: 'google.longrunning.Operations.*' + oauth: + canonical_scopes: |- + https://www.googleapis.com/auth/cloud-platform |
