auto-regenerate .pb.go files (#297)

This is an auto-generated regeneration of the .pb.go files by
cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genmgr will
update the corresponding CL at gocloud to depend on the newer version of
go-genproto, and assign reviewers. Whilst this or any regen PR is open in
go-genproto, gapicgen will not create any more regeneration PRs or CLs. If all
regen PRs are closed, gapicgen will create a new set of regeneration PRs and
CLs once per night.

If you have been assigned to review this CL, please:

- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship. That will prompt
  genmgr to assign reviewers to the gocloud CL.

Corresponding gocloud CL: https://code-review.googlesource.com/c/gocloud/+/51331
diff --git a/googleapis/cloud/managedidentities/v1beta1/managed_identities_service.pb.go b/googleapis/cloud/managedidentities/v1beta1/managed_identities_service.pb.go
new file mode 100644
index 0000000..1fa3cb3
--- /dev/null
+++ b/googleapis/cloud/managedidentities/v1beta1/managed_identities_service.pb.go
@@ -0,0 +1,1316 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/managedidentities/v1beta1/managed_identities_service.proto
+
+package managedidentities
+
+import (
+	context "context"
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+	longrunning "google.golang.org/genproto/googleapis/longrunning"
+	field_mask "google.golang.org/genproto/protobuf/field_mask"
+	grpc "google.golang.org/grpc"
+	codes "google.golang.org/grpc/codes"
+	status "google.golang.org/grpc/status"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Represents the metadata of the long-running operation.
+type OpMetadata struct {
+	// Output only. The time the operation was created.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The time the operation finished running.
+	EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+	// Output only. Server-defined resource path for the target of the operation.
+	Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
+	// Output only. Name of the verb executed by the operation.
+	Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"`
+	// 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][google.rpc.Status.code] of 1,
+	// corresponding to `Code.CANCELLED`.
+	RequestedCancellation bool `protobuf:"varint,5,opt,name=requested_cancellation,json=requestedCancellation,proto3" json:"requested_cancellation,omitempty"`
+	// Output only. API version used to start the operation.
+	ApiVersion           string   `protobuf:"bytes,6,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *OpMetadata) Reset()         { *m = OpMetadata{} }
+func (m *OpMetadata) String() string { return proto.CompactTextString(m) }
+func (*OpMetadata) ProtoMessage()    {}
+func (*OpMetadata) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{0}
+}
+
+func (m *OpMetadata) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_OpMetadata.Unmarshal(m, b)
+}
+func (m *OpMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_OpMetadata.Marshal(b, m, deterministic)
+}
+func (m *OpMetadata) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_OpMetadata.Merge(m, src)
+}
+func (m *OpMetadata) XXX_Size() int {
+	return xxx_messageInfo_OpMetadata.Size(m)
+}
+func (m *OpMetadata) XXX_DiscardUnknown() {
+	xxx_messageInfo_OpMetadata.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OpMetadata proto.InternalMessageInfo
+
+func (m *OpMetadata) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *OpMetadata) GetEndTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *OpMetadata) GetTarget() string {
+	if m != nil {
+		return m.Target
+	}
+	return ""
+}
+
+func (m *OpMetadata) GetVerb() string {
+	if m != nil {
+		return m.Verb
+	}
+	return ""
+}
+
+func (m *OpMetadata) GetRequestedCancellation() bool {
+	if m != nil {
+		return m.RequestedCancellation
+	}
+	return false
+}
+
+func (m *OpMetadata) GetApiVersion() string {
+	if m != nil {
+		return m.ApiVersion
+	}
+	return ""
+}
+
+// Request message for
+// [CreateMicrosoftAdDomain][google.cloud.managedidentities.v1beta1.CreateMicrosoftAdDomain]
+type CreateMicrosoftAdDomainRequest struct {
+	// The resource project name and location using the form:
+	// `projects/{project_id}/locations/global`
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// A domain name, e.g. mydomain.myorg.com, with the following restrictions:
+	//  * Must contain only lowercase letters, numbers, periods and hyphens.
+	//  * Must start with a letter.
+	//  * Must contain between 2-64 characters.
+	//  * Must end with a number or a letter.
+	//  * Must not start with period.
+	//  * First segement length (mydomain form example above) shouldn't exceed
+	//    15 chars.
+	//  * The last segment cannot be fully numeric.
+	//  * Must be unique within the customer project.
+	DomainName string `protobuf:"bytes,2,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"`
+	// A Managed Identity domain resource.
+	Domain               *Domain  `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *CreateMicrosoftAdDomainRequest) Reset()         { *m = CreateMicrosoftAdDomainRequest{} }
+func (m *CreateMicrosoftAdDomainRequest) String() string { return proto.CompactTextString(m) }
+func (*CreateMicrosoftAdDomainRequest) ProtoMessage()    {}
+func (*CreateMicrosoftAdDomainRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{1}
+}
+
+func (m *CreateMicrosoftAdDomainRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_CreateMicrosoftAdDomainRequest.Unmarshal(m, b)
+}
+func (m *CreateMicrosoftAdDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_CreateMicrosoftAdDomainRequest.Marshal(b, m, deterministic)
+}
+func (m *CreateMicrosoftAdDomainRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_CreateMicrosoftAdDomainRequest.Merge(m, src)
+}
+func (m *CreateMicrosoftAdDomainRequest) XXX_Size() int {
+	return xxx_messageInfo_CreateMicrosoftAdDomainRequest.Size(m)
+}
+func (m *CreateMicrosoftAdDomainRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_CreateMicrosoftAdDomainRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreateMicrosoftAdDomainRequest proto.InternalMessageInfo
+
+func (m *CreateMicrosoftAdDomainRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateMicrosoftAdDomainRequest) GetDomainName() string {
+	if m != nil {
+		return m.DomainName
+	}
+	return ""
+}
+
+func (m *CreateMicrosoftAdDomainRequest) GetDomain() *Domain {
+	if m != nil {
+		return m.Domain
+	}
+	return nil
+}
+
+// Request message for
+// [ResetAdminPassword][google.cloud.managedidentities.v1beta1.ResetAdminPassword]
+type ResetAdminPasswordRequest struct {
+	// The domain resource name using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ResetAdminPasswordRequest) Reset()         { *m = ResetAdminPasswordRequest{} }
+func (m *ResetAdminPasswordRequest) String() string { return proto.CompactTextString(m) }
+func (*ResetAdminPasswordRequest) ProtoMessage()    {}
+func (*ResetAdminPasswordRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{2}
+}
+
+func (m *ResetAdminPasswordRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ResetAdminPasswordRequest.Unmarshal(m, b)
+}
+func (m *ResetAdminPasswordRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ResetAdminPasswordRequest.Marshal(b, m, deterministic)
+}
+func (m *ResetAdminPasswordRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ResetAdminPasswordRequest.Merge(m, src)
+}
+func (m *ResetAdminPasswordRequest) XXX_Size() int {
+	return xxx_messageInfo_ResetAdminPasswordRequest.Size(m)
+}
+func (m *ResetAdminPasswordRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ResetAdminPasswordRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ResetAdminPasswordRequest proto.InternalMessageInfo
+
+func (m *ResetAdminPasswordRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Response message for
+// [ResetAdminPassword][google.cloud.managedidentities.v1beta1.ResetAdminPassword]
+type ResetAdminPasswordResponse struct {
+	// A random password. See [admin][google.cloud.managedidentities.v1beta1.Domain.admin] for more information.
+	Password             string   `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ResetAdminPasswordResponse) Reset()         { *m = ResetAdminPasswordResponse{} }
+func (m *ResetAdminPasswordResponse) String() string { return proto.CompactTextString(m) }
+func (*ResetAdminPasswordResponse) ProtoMessage()    {}
+func (*ResetAdminPasswordResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{3}
+}
+
+func (m *ResetAdminPasswordResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ResetAdminPasswordResponse.Unmarshal(m, b)
+}
+func (m *ResetAdminPasswordResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ResetAdminPasswordResponse.Marshal(b, m, deterministic)
+}
+func (m *ResetAdminPasswordResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ResetAdminPasswordResponse.Merge(m, src)
+}
+func (m *ResetAdminPasswordResponse) XXX_Size() int {
+	return xxx_messageInfo_ResetAdminPasswordResponse.Size(m)
+}
+func (m *ResetAdminPasswordResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ResetAdminPasswordResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ResetAdminPasswordResponse proto.InternalMessageInfo
+
+func (m *ResetAdminPasswordResponse) GetPassword() string {
+	if m != nil {
+		return m.Password
+	}
+	return ""
+}
+
+// Request message for
+// [ListDomains][google.cloud.managedidentities.v1beta1.ListDomains]
+type ListDomainsRequest struct {
+	// Required. The resource name of the domain location using the form:
+	// `projects/{project_id}/locations/global`
+	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+	// Optional. The maximum number of items to return.
+	// If not specified, a default value of 1000 will be used.
+	// Regardless of the page_size value, the response may include a partial list.
+	// Callers should rely on a response's
+	// [next_page_token][google.cloud.managedidentities.v1beta1.ListDomainsResponse.next_page_token]
+	// to determine if there are additional results to list.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+	// The `next_page_token` value returned from a previous ListDomainsRequest
+	// request, if any.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+	// Optional. A filter specifying constraints of a list operation.
+	// For example, `Domain.fqdn="mydomain.myorginization"`.
+	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+	// Optional. Specifies the ordering of results. See
+	// [Sorting
+	// order](https://cloud.google.com/apis/design/design_patterns#sorting_order)
+	// for more information.
+	OrderBy              string   `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListDomainsRequest) Reset()         { *m = ListDomainsRequest{} }
+func (m *ListDomainsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListDomainsRequest) ProtoMessage()    {}
+func (*ListDomainsRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{4}
+}
+
+func (m *ListDomainsRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListDomainsRequest.Unmarshal(m, b)
+}
+func (m *ListDomainsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListDomainsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListDomainsRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListDomainsRequest.Merge(m, src)
+}
+func (m *ListDomainsRequest) XXX_Size() int {
+	return xxx_messageInfo_ListDomainsRequest.Size(m)
+}
+func (m *ListDomainsRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListDomainsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListDomainsRequest proto.InternalMessageInfo
+
+func (m *ListDomainsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListDomainsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListDomainsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListDomainsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListDomainsRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+// Response message for
+// [ListDomains][google.cloud.managedidentities.v1beta1.ListDomains]
+type ListDomainsResponse struct {
+	// A list of Managed Identities Service domains in the project.
+	Domains []*Domain `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"`
+	// A token to retrieve the next page of results, or empty if there are no more
+	// results in the list.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+	// A list of locations that could not be reached.
+	Unreachable          []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ListDomainsResponse) Reset()         { *m = ListDomainsResponse{} }
+func (m *ListDomainsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListDomainsResponse) ProtoMessage()    {}
+func (*ListDomainsResponse) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{5}
+}
+
+func (m *ListDomainsResponse) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ListDomainsResponse.Unmarshal(m, b)
+}
+func (m *ListDomainsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ListDomainsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListDomainsResponse) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ListDomainsResponse.Merge(m, src)
+}
+func (m *ListDomainsResponse) XXX_Size() int {
+	return xxx_messageInfo_ListDomainsResponse.Size(m)
+}
+func (m *ListDomainsResponse) XXX_DiscardUnknown() {
+	xxx_messageInfo_ListDomainsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListDomainsResponse proto.InternalMessageInfo
+
+func (m *ListDomainsResponse) GetDomains() []*Domain {
+	if m != nil {
+		return m.Domains
+	}
+	return nil
+}
+
+func (m *ListDomainsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListDomainsResponse) GetUnreachable() []string {
+	if m != nil {
+		return m.Unreachable
+	}
+	return nil
+}
+
+// Request message for
+// [GetDomain][google.cloud.managedidentities.v1beta1.GetDomain]
+type GetDomainRequest struct {
+	// The domain resource name using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *GetDomainRequest) Reset()         { *m = GetDomainRequest{} }
+func (m *GetDomainRequest) String() string { return proto.CompactTextString(m) }
+func (*GetDomainRequest) ProtoMessage()    {}
+func (*GetDomainRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{6}
+}
+
+func (m *GetDomainRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_GetDomainRequest.Unmarshal(m, b)
+}
+func (m *GetDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_GetDomainRequest.Marshal(b, m, deterministic)
+}
+func (m *GetDomainRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_GetDomainRequest.Merge(m, src)
+}
+func (m *GetDomainRequest) XXX_Size() int {
+	return xxx_messageInfo_GetDomainRequest.Size(m)
+}
+func (m *GetDomainRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_GetDomainRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetDomainRequest proto.InternalMessageInfo
+
+func (m *GetDomainRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for
+// [UpdateDomain][google.cloud.managedidentities.v1beta1.UpdateDomain]
+type UpdateDomainRequest struct {
+	// Mask of fields to update. At least one path must be supplied in this
+	// field. The elements of the repeated paths field may only include
+	// fields from [Domain][google.cloud.managedidentities.v1beta1.Domain]:
+	//  * `labels`
+	//  * `locations`
+	//  * `authorized_networks`
+	UpdateMask *field_mask.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+	// Domain message with updated fields. Only supported fields specified in
+	// update_mask are updated.
+	Domain               *Domain  `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *UpdateDomainRequest) Reset()         { *m = UpdateDomainRequest{} }
+func (m *UpdateDomainRequest) String() string { return proto.CompactTextString(m) }
+func (*UpdateDomainRequest) ProtoMessage()    {}
+func (*UpdateDomainRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{7}
+}
+
+func (m *UpdateDomainRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_UpdateDomainRequest.Unmarshal(m, b)
+}
+func (m *UpdateDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_UpdateDomainRequest.Marshal(b, m, deterministic)
+}
+func (m *UpdateDomainRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_UpdateDomainRequest.Merge(m, src)
+}
+func (m *UpdateDomainRequest) XXX_Size() int {
+	return xxx_messageInfo_UpdateDomainRequest.Size(m)
+}
+func (m *UpdateDomainRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_UpdateDomainRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_UpdateDomainRequest proto.InternalMessageInfo
+
+func (m *UpdateDomainRequest) GetUpdateMask() *field_mask.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+func (m *UpdateDomainRequest) GetDomain() *Domain {
+	if m != nil {
+		return m.Domain
+	}
+	return nil
+}
+
+// Request message for
+// [DeleteDomain][google.cloud.managedidentities.v1beta1.DeleteDomain]
+type DeleteDomainRequest struct {
+	// The domain resource name using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DeleteDomainRequest) Reset()         { *m = DeleteDomainRequest{} }
+func (m *DeleteDomainRequest) String() string { return proto.CompactTextString(m) }
+func (*DeleteDomainRequest) ProtoMessage()    {}
+func (*DeleteDomainRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{8}
+}
+
+func (m *DeleteDomainRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DeleteDomainRequest.Unmarshal(m, b)
+}
+func (m *DeleteDomainRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DeleteDomainRequest.Marshal(b, m, deterministic)
+}
+func (m *DeleteDomainRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DeleteDomainRequest.Merge(m, src)
+}
+func (m *DeleteDomainRequest) XXX_Size() int {
+	return xxx_messageInfo_DeleteDomainRequest.Size(m)
+}
+func (m *DeleteDomainRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DeleteDomainRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeleteDomainRequest proto.InternalMessageInfo
+
+func (m *DeleteDomainRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+// Request message for
+// [AttachTrust][google.cloud.managedidentities.v1beta1.AttachTrust]
+type AttachTrustRequest struct {
+	// The resource domain name, project name and location using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The domain trust resource.
+	Trust                *Trust   `protobuf:"bytes,2,opt,name=trust,proto3" json:"trust,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *AttachTrustRequest) Reset()         { *m = AttachTrustRequest{} }
+func (m *AttachTrustRequest) String() string { return proto.CompactTextString(m) }
+func (*AttachTrustRequest) ProtoMessage()    {}
+func (*AttachTrustRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{9}
+}
+
+func (m *AttachTrustRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_AttachTrustRequest.Unmarshal(m, b)
+}
+func (m *AttachTrustRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_AttachTrustRequest.Marshal(b, m, deterministic)
+}
+func (m *AttachTrustRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_AttachTrustRequest.Merge(m, src)
+}
+func (m *AttachTrustRequest) XXX_Size() int {
+	return xxx_messageInfo_AttachTrustRequest.Size(m)
+}
+func (m *AttachTrustRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_AttachTrustRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AttachTrustRequest proto.InternalMessageInfo
+
+func (m *AttachTrustRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *AttachTrustRequest) GetTrust() *Trust {
+	if m != nil {
+		return m.Trust
+	}
+	return nil
+}
+
+// Request message for
+// [ReconfigureTrust][google.cloud.managedidentities.v1beta1.ReconfigureTrust]
+type ReconfigureTrustRequest struct {
+	// The resource domain name, project name and location using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The fully-qualified target domain name which will be in trust with current
+	// domain.
+	TargetDomainName string `protobuf:"bytes,2,opt,name=target_domain_name,json=targetDomainName,proto3" json:"target_domain_name,omitempty"`
+	// The target DNS server IP addresses to resolve the remote domain involved
+	// in the trust.
+	TargetDnsIpAddresses []string `protobuf:"bytes,3,rep,name=target_dns_ip_addresses,json=targetDnsIpAddresses,proto3" json:"target_dns_ip_addresses,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ReconfigureTrustRequest) Reset()         { *m = ReconfigureTrustRequest{} }
+func (m *ReconfigureTrustRequest) String() string { return proto.CompactTextString(m) }
+func (*ReconfigureTrustRequest) ProtoMessage()    {}
+func (*ReconfigureTrustRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{10}
+}
+
+func (m *ReconfigureTrustRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ReconfigureTrustRequest.Unmarshal(m, b)
+}
+func (m *ReconfigureTrustRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ReconfigureTrustRequest.Marshal(b, m, deterministic)
+}
+func (m *ReconfigureTrustRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ReconfigureTrustRequest.Merge(m, src)
+}
+func (m *ReconfigureTrustRequest) XXX_Size() int {
+	return xxx_messageInfo_ReconfigureTrustRequest.Size(m)
+}
+func (m *ReconfigureTrustRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ReconfigureTrustRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ReconfigureTrustRequest proto.InternalMessageInfo
+
+func (m *ReconfigureTrustRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReconfigureTrustRequest) GetTargetDomainName() string {
+	if m != nil {
+		return m.TargetDomainName
+	}
+	return ""
+}
+
+func (m *ReconfigureTrustRequest) GetTargetDnsIpAddresses() []string {
+	if m != nil {
+		return m.TargetDnsIpAddresses
+	}
+	return nil
+}
+
+// Request message for
+// [DetachTrust][google.cloud.managedidentities.v1beta1.DetachTrust]
+type DetachTrustRequest struct {
+	// The resource domain name, project name, and location using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The domain trust resource to removed.
+	Trust                *Trust   `protobuf:"bytes,2,opt,name=trust,proto3" json:"trust,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *DetachTrustRequest) Reset()         { *m = DetachTrustRequest{} }
+func (m *DetachTrustRequest) String() string { return proto.CompactTextString(m) }
+func (*DetachTrustRequest) ProtoMessage()    {}
+func (*DetachTrustRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{11}
+}
+
+func (m *DetachTrustRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_DetachTrustRequest.Unmarshal(m, b)
+}
+func (m *DetachTrustRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_DetachTrustRequest.Marshal(b, m, deterministic)
+}
+func (m *DetachTrustRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_DetachTrustRequest.Merge(m, src)
+}
+func (m *DetachTrustRequest) XXX_Size() int {
+	return xxx_messageInfo_DetachTrustRequest.Size(m)
+}
+func (m *DetachTrustRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_DetachTrustRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DetachTrustRequest proto.InternalMessageInfo
+
+func (m *DetachTrustRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *DetachTrustRequest) GetTrust() *Trust {
+	if m != nil {
+		return m.Trust
+	}
+	return nil
+}
+
+// Request message for
+// [ValidateTrust][google.cloud.managedidentities.v1beta1.ValidateTrust]
+type ValidateTrustRequest struct {
+	// The resource domain name, project name, and location using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// The domain trust to validate trust state for.
+	Trust                *Trust   `protobuf:"bytes,2,opt,name=trust,proto3" json:"trust,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *ValidateTrustRequest) Reset()         { *m = ValidateTrustRequest{} }
+func (m *ValidateTrustRequest) String() string { return proto.CompactTextString(m) }
+func (*ValidateTrustRequest) ProtoMessage()    {}
+func (*ValidateTrustRequest) Descriptor() ([]byte, []int) {
+	return fileDescriptor_dde68c5be24ebe9c, []int{12}
+}
+
+func (m *ValidateTrustRequest) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_ValidateTrustRequest.Unmarshal(m, b)
+}
+func (m *ValidateTrustRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_ValidateTrustRequest.Marshal(b, m, deterministic)
+}
+func (m *ValidateTrustRequest) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_ValidateTrustRequest.Merge(m, src)
+}
+func (m *ValidateTrustRequest) XXX_Size() int {
+	return xxx_messageInfo_ValidateTrustRequest.Size(m)
+}
+func (m *ValidateTrustRequest) XXX_DiscardUnknown() {
+	xxx_messageInfo_ValidateTrustRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ValidateTrustRequest proto.InternalMessageInfo
+
+func (m *ValidateTrustRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ValidateTrustRequest) GetTrust() *Trust {
+	if m != nil {
+		return m.Trust
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*OpMetadata)(nil), "google.cloud.managedidentities.v1beta1.OpMetadata")
+	proto.RegisterType((*CreateMicrosoftAdDomainRequest)(nil), "google.cloud.managedidentities.v1beta1.CreateMicrosoftAdDomainRequest")
+	proto.RegisterType((*ResetAdminPasswordRequest)(nil), "google.cloud.managedidentities.v1beta1.ResetAdminPasswordRequest")
+	proto.RegisterType((*ResetAdminPasswordResponse)(nil), "google.cloud.managedidentities.v1beta1.ResetAdminPasswordResponse")
+	proto.RegisterType((*ListDomainsRequest)(nil), "google.cloud.managedidentities.v1beta1.ListDomainsRequest")
+	proto.RegisterType((*ListDomainsResponse)(nil), "google.cloud.managedidentities.v1beta1.ListDomainsResponse")
+	proto.RegisterType((*GetDomainRequest)(nil), "google.cloud.managedidentities.v1beta1.GetDomainRequest")
+	proto.RegisterType((*UpdateDomainRequest)(nil), "google.cloud.managedidentities.v1beta1.UpdateDomainRequest")
+	proto.RegisterType((*DeleteDomainRequest)(nil), "google.cloud.managedidentities.v1beta1.DeleteDomainRequest")
+	proto.RegisterType((*AttachTrustRequest)(nil), "google.cloud.managedidentities.v1beta1.AttachTrustRequest")
+	proto.RegisterType((*ReconfigureTrustRequest)(nil), "google.cloud.managedidentities.v1beta1.ReconfigureTrustRequest")
+	proto.RegisterType((*DetachTrustRequest)(nil), "google.cloud.managedidentities.v1beta1.DetachTrustRequest")
+	proto.RegisterType((*ValidateTrustRequest)(nil), "google.cloud.managedidentities.v1beta1.ValidateTrustRequest")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/managedidentities/v1beta1/managed_identities_service.proto", fileDescriptor_dde68c5be24ebe9c)
+}
+
+var fileDescriptor_dde68c5be24ebe9c = []byte{
+	// 1273 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5,
+	0x17, 0xd7, 0x26, 0x69, 0x1a, 0x3f, 0x7f, 0xab, 0x6f, 0x99, 0xfe, 0x88, 0xeb, 0x52, 0x6a, 0x6d,
+	0x51, 0x14, 0x22, 0xba, 0xab, 0x06, 0x55, 0xad, 0xdc, 0x56, 0xc5, 0x49, 0x48, 0x5a, 0x41, 0x68,
+	0xe4, 0x86, 0x20, 0xa1, 0x48, 0xab, 0xf1, 0xee, 0xcb, 0x66, 0xe9, 0x7a, 0x67, 0x99, 0x19, 0x27,
+	0xb4, 0xa8, 0x17, 0xfe, 0x04, 0xb8, 0xc1, 0x89, 0xde, 0xe0, 0xcc, 0x91, 0x2b, 0x97, 0x4a, 0x08,
+	0x89, 0x5e, 0x11, 0xe2, 0xc0, 0x1f, 0xc0, 0x7f, 0x00, 0xda, 0x9d, 0x59, 0x7b, 0x1d, 0x3b, 0xf1,
+	0xd6, 0x91, 0xca, 0xcd, 0x33, 0xef, 0xd7, 0xe7, 0xf3, 0xde, 0xbc, 0xf7, 0x36, 0x81, 0x35, 0x9f,
+	0x31, 0x3f, 0x44, 0xdb, 0x0d, 0x59, 0xc7, 0xb3, 0xdb, 0x34, 0xa2, 0x3e, 0x7a, 0x81, 0x87, 0x91,
+	0x0c, 0x64, 0x80, 0xc2, 0xde, 0xbb, 0xd6, 0x42, 0x49, 0xaf, 0x65, 0x12, 0xa7, 0x27, 0x72, 0x04,
+	0xf2, 0xbd, 0xc0, 0x45, 0x2b, 0xe6, 0x4c, 0x32, 0x32, 0xa7, 0x1c, 0x59, 0xa9, 0x23, 0x6b, 0xc0,
+	0x91, 0xa5, 0x1d, 0x55, 0x5f, 0xd7, 0x01, 0x69, 0x1c, 0xd8, 0x34, 0x8a, 0x98, 0xa4, 0x32, 0x60,
+	0x91, 0x50, 0x5e, 0xaa, 0x97, 0x73, 0xd2, 0x9d, 0x00, 0x43, 0xcf, 0x69, 0xe1, 0x2e, 0xdd, 0x0b,
+	0x18, 0xd7, 0x0a, 0xd7, 0x0b, 0xe2, 0xe5, 0x28, 0x58, 0x87, 0x67, 0xe8, 0xaa, 0x57, 0xb4, 0x59,
+	0xc8, 0x22, 0x9f, 0x77, 0xa2, 0x28, 0x88, 0x7c, 0x9b, 0xc5, 0xc8, 0xfb, 0x82, 0xd7, 0xb4, 0x52,
+	0x7a, 0x6a, 0x75, 0x76, 0x34, 0x82, 0x36, 0x15, 0x8f, 0x0e, 0xc0, 0xeb, 0x6a, 0xc8, 0xa0, 0x8d,
+	0x42, 0xd2, 0x76, 0xac, 0x15, 0x66, 0x73, 0xf8, 0xdd, 0x30, 0xc0, 0x48, 0x2a, 0x81, 0xf9, 0x6c,
+	0x02, 0xe0, 0x41, 0xbc, 0x8e, 0x92, 0x7a, 0x54, 0x52, 0xf2, 0x2e, 0x94, 0x5d, 0x8e, 0x54, 0xa2,
+	0x93, 0x78, 0xa8, 0x18, 0x35, 0x63, 0xbe, 0xbc, 0x58, 0xb5, 0x74, 0x0e, 0x33, 0xf7, 0xd6, 0x66,
+	0xe6, 0x7e, 0x69, 0xf2, 0xcf, 0xc6, 0x64, 0x13, 0x94, 0x4d, 0x72, 0x4b, 0xea, 0x30, 0x83, 0x91,
+	0xa7, 0xcc, 0x27, 0x8a, 0x99, 0x9f, 0xc4, 0xc8, 0x4b, 0x6d, 0x2f, 0xc2, 0xb4, 0xa4, 0xdc, 0x47,
+	0x59, 0x99, 0xac, 0x19, 0xf3, 0x25, 0x25, 0xd5, 0x57, 0x64, 0x16, 0xa6, 0xf6, 0x90, 0xb7, 0x2a,
+	0x53, 0x3d, 0x51, 0x7a, 0x41, 0xea, 0x70, 0x9e, 0xe3, 0x67, 0x1d, 0x14, 0x12, 0x3d, 0xc7, 0xa5,
+	0x91, 0x8b, 0x61, 0x98, 0xe6, 0xaf, 0x72, 0xa2, 0x66, 0xcc, 0xcf, 0x28, 0xd5, 0x73, 0x5d, 0x95,
+	0xe5, 0x9c, 0x06, 0x79, 0x13, 0xca, 0x34, 0x0e, 0x9c, 0x3d, 0xe4, 0x22, 0x31, 0x98, 0xee, 0xf9,
+	0x06, 0x1a, 0x07, 0x5b, 0xea, 0xda, 0xfc, 0xce, 0x80, 0x37, 0x96, 0x53, 0x8a, 0xeb, 0x81, 0xcb,
+	0x99, 0x60, 0x3b, 0xb2, 0xe1, 0xad, 0xb0, 0x36, 0x0d, 0xa2, 0xa6, 0x72, 0x4b, 0xce, 0xc3, 0x74,
+	0x4c, 0x39, 0x46, 0x32, 0xcd, 0x59, 0xa9, 0xa9, 0x4f, 0xe4, 0x32, 0x94, 0xbd, 0x54, 0xd1, 0x89,
+	0xa8, 0xce, 0x48, 0xa9, 0x09, 0xea, 0xea, 0x43, 0xda, 0x46, 0xb2, 0x0a, 0xd3, 0xea, 0x94, 0x72,
+	0x2e, 0x2f, 0x5a, 0x56, 0xb1, 0x07, 0x6b, 0xe9, 0xf8, 0xda, 0xda, 0xb4, 0xe1, 0x42, 0x13, 0x05,
+	0xca, 0x86, 0xd7, 0x0e, 0xa2, 0x0d, 0x2a, 0xc4, 0x3e, 0xe3, 0x5e, 0x86, 0x8e, 0xc0, 0x54, 0x1a,
+	0x5e, 0x61, 0x4b, 0x7f, 0x9b, 0x37, 0xa1, 0x3a, 0xcc, 0x40, 0xc4, 0x2c, 0x12, 0x48, 0xaa, 0x30,
+	0x13, 0xeb, 0x3b, 0x6d, 0xd5, 0x3d, 0x9b, 0xdf, 0x1a, 0x40, 0x3e, 0x08, 0x84, 0x54, 0x08, 0xc4,
+	0xa8, 0x14, 0x5c, 0x84, 0x52, 0x4c, 0x7d, 0x74, 0x44, 0xf0, 0x44, 0x25, 0xe0, 0x44, 0xe2, 0xcb,
+	0xc7, 0x87, 0xc1, 0x13, 0x24, 0x97, 0x00, 0x52, 0xa1, 0x64, 0x8f, 0x50, 0xa5, 0xa0, 0xd4, 0x4c,
+	0xd5, 0x37, 0x93, 0x8b, 0xc4, 0xe7, 0x4e, 0x10, 0x4a, 0xe4, 0xaa, 0xec, 0x4d, 0x7d, 0x22, 0x17,
+	0x60, 0x86, 0x71, 0x0f, 0xb9, 0xd3, 0x7a, 0x9c, 0x56, 0xb9, 0xd4, 0x3c, 0x99, 0x9e, 0x97, 0x1e,
+	0x9b, 0xdf, 0x1b, 0x70, 0xa6, 0x0f, 0x9d, 0x66, 0x74, 0x0f, 0x4e, 0xaa, 0x54, 0x89, 0x8a, 0x51,
+	0x9b, 0x1c, 0x23, 0xd3, 0x99, 0x39, 0x99, 0x83, 0xff, 0x47, 0xf8, 0xb9, 0x74, 0x72, 0xc0, 0x55,
+	0x5d, 0x4f, 0x25, 0xd7, 0x1b, 0x5d, 0xf0, 0x35, 0x28, 0x77, 0x22, 0x8e, 0xd4, 0xdd, 0xa5, 0xad,
+	0x10, 0x2b, 0x93, 0xb5, 0xc9, 0xf9, 0x52, 0x33, 0x7f, 0x65, 0xce, 0xc1, 0xe9, 0x35, 0x94, 0xfd,
+	0x2f, 0x69, 0x58, 0xad, 0xbe, 0x31, 0xe0, 0xcc, 0x47, 0xb1, 0x47, 0x25, 0xf6, 0xeb, 0xde, 0x82,
+	0x72, 0x27, 0xbd, 0x4e, 0x87, 0xc1, 0xa1, 0xed, 0xba, 0x9a, 0xcc, 0x8b, 0x75, 0x2a, 0x1e, 0x35,
+	0x41, 0xa9, 0x27, 0xbf, 0x73, 0x2f, 0x6f, 0xe2, 0x58, 0x2f, 0xef, 0x2d, 0x38, 0xb3, 0x82, 0x21,
+	0x1e, 0xc4, 0x36, 0x8c, 0x47, 0x1b, 0x48, 0x43, 0x4a, 0xea, 0xee, 0x6e, 0xf2, 0x8e, 0x90, 0x47,
+	0x68, 0x92, 0x65, 0x38, 0x21, 0x13, 0x1d, 0x8d, 0xed, 0x6a, 0x51, 0x6c, 0xca, 0xb1, 0xb2, 0x35,
+	0xbf, 0x32, 0x60, 0xb6, 0x89, 0x2e, 0x8b, 0x76, 0x02, 0xbf, 0xc3, 0x71, 0x64, 0xd0, 0xb7, 0x81,
+	0xa8, 0x61, 0xe3, 0x0c, 0xf6, 0xec, 0x69, 0x25, 0x59, 0xe9, 0x75, 0xee, 0x75, 0x98, 0xcd, 0xb4,
+	0x23, 0xe1, 0x04, 0xb1, 0x43, 0x3d, 0x8f, 0xa3, 0x10, 0x28, 0x74, 0xa9, 0xcf, 0x6a, 0x93, 0x48,
+	0xdc, 0x8f, 0x1b, 0x99, 0x2c, 0xc9, 0xc1, 0x0a, 0xbe, 0xba, 0x1c, 0x30, 0x38, 0xbb, 0x45, 0xc3,
+	0x20, 0xa9, 0xfa, 0x2b, 0x09, 0xb8, 0xf8, 0xd3, 0x6b, 0x50, 0x59, 0x57, 0xaa, 0xf7, 0xbb, 0xaa,
+	0x0f, 0xd5, 0x4e, 0x26, 0x7f, 0x18, 0x30, 0x7b, 0xc8, 0x24, 0x25, 0xab, 0x45, 0xc3, 0x1d, 0x3d,
+	0x8a, 0xab, 0x97, 0x32, 0x3f, 0xb9, 0xa5, 0x6a, 0x3d, 0xc8, 0x96, 0xaa, 0xb9, 0xfd, 0xbc, 0x71,
+	0x16, 0xa6, 0x75, 0xcc, 0xdc, 0xee, 0xfb, 0xf2, 0xc5, 0x5f, 0x5f, 0x4f, 0xdc, 0x35, 0xaf, 0x77,
+	0x57, 0xf5, 0x17, 0x6a, 0x7e, 0xdd, 0x89, 0x39, 0xfb, 0x14, 0x5d, 0x29, 0xec, 0x05, 0x3b, 0x64,
+	0xae, 0xda, 0xcc, 0xb6, 0x1f, 0xb2, 0x16, 0x0d, 0x9f, 0xda, 0x7a, 0x26, 0xd4, 0x75, 0x33, 0x90,
+	0xbf, 0x0d, 0x20, 0x83, 0x63, 0x95, 0x34, 0x8a, 0x72, 0x3b, 0x74, 0x86, 0x57, 0x97, 0x8e, 0xe3,
+	0x42, 0xcd, 0x40, 0xf3, 0x61, 0x4a, 0x72, 0xdd, 0xbc, 0xd7, 0x23, 0x99, 0x14, 0xfe, 0x28, 0x8a,
+	0x19, 0x43, 0x7b, 0xe1, 0x69, 0x9d, 0x0f, 0x78, 0xae, 0x1b, 0x0b, 0xe4, 0x67, 0x03, 0xca, 0xb9,
+	0x81, 0x4b, 0xea, 0x45, 0x81, 0x0e, 0xee, 0x90, 0xea, 0xad, 0xb1, 0x6c, 0x35, 0xbb, 0x3b, 0x29,
+	0xbb, 0x1b, 0x64, 0xbc, 0x12, 0x92, 0x1f, 0x0d, 0x28, 0x75, 0xa7, 0x31, 0xb9, 0x59, 0x14, 0xc9,
+	0xc1, 0x01, 0x5e, 0x7d, 0xc9, 0x39, 0x3a, 0x0c, 0xf6, 0x4b, 0x14, 0x85, 0xfc, 0x6a, 0xc0, 0xff,
+	0xf2, 0xbb, 0x81, 0x14, 0xce, 0xe1, 0x90, 0x8d, 0x32, 0xaa, 0x79, 0xdc, 0xa3, 0x9a, 0x67, 0x75,
+	0xf1, 0x76, 0x8f, 0x82, 0x42, 0x68, 0xbd, 0xcc, 0xf3, 0xca, 0x7a, 0x28, 0x61, 0x94, 0xdf, 0x28,
+	0xc5, 0x19, 0x0d, 0xd9, 0x43, 0x05, 0x18, 0x5d, 0x81, 0x73, 0x07, 0x37, 0xe6, 0x7b, 0xed, 0x58,
+	0x3e, 0x1e, 0x20, 0x78, 0x63, 0x61, 0xcc, 0x1a, 0xfd, 0x62, 0x40, 0x39, 0xb7, 0xf8, 0x8a, 0xb7,
+	0xc8, 0xe0, 0xb6, 0x3c, 0x5e, 0x85, 0xcc, 0xc6, 0x78, 0x9d, 0x4f, 0x7b, 0x38, 0x92, 0x96, 0xff,
+	0xdd, 0x80, 0xd3, 0x07, 0x17, 0x2b, 0xb9, 0x5b, 0x7c, 0x40, 0x0d, 0x5d, 0xc9, 0xa3, 0x98, 0xed,
+	0x1e, 0xc5, 0xec, 0x7d, 0x73, 0x75, 0xdc, 0x99, 0xd6, 0x0f, 0x26, 0xa1, 0x97, 0x94, 0x2b, 0xb7,
+	0xa3, 0x8b, 0x97, 0x6b, 0x70, 0xb1, 0xff, 0x37, 0xe5, 0xf2, 0xb0, 0xaf, 0x5c, 0x2f, 0x0c, 0x38,
+	0xd5, 0xf7, 0x11, 0x40, 0x6e, 0x17, 0x65, 0x34, 0xec, 0xdb, 0x61, 0x14, 0x27, 0x3c, 0x8a, 0xd3,
+	0x3d, 0x73, 0x79, 0x3c, 0x4e, 0x7b, 0x79, 0x24, 0x75, 0x63, 0xa1, 0xba, 0xf9, 0xbc, 0x51, 0x1b,
+	0x04, 0xae, 0x90, 0xd1, 0x38, 0x10, 0x96, 0xcb, 0xda, 0xbf, 0x35, 0xac, 0x5d, 0x29, 0x63, 0x51,
+	0xb7, 0xed, 0xfd, 0xfd, 0xfd, 0x03, 0x42, 0x9b, 0x76, 0xe4, 0xae, 0xfa, 0x8b, 0xfd, 0x6a, 0x1c,
+	0x52, 0xb9, 0xc3, 0x78, 0x7b, 0xe9, 0x1f, 0x03, 0x16, 0x5c, 0xd6, 0x2e, 0x98, 0x9f, 0xa5, 0x4b,
+	0x87, 0x7d, 0xea, 0x6c, 0x24, 0xa3, 0x64, 0xc3, 0xf8, 0xe4, 0x63, 0xed, 0xc8, 0x67, 0x21, 0x8d,
+	0x7c, 0x8b, 0x71, 0xdf, 0xf6, 0x31, 0x4a, 0x07, 0x8d, 0xdd, 0x83, 0x33, 0xea, 0xff, 0x06, 0xb7,
+	0x06, 0x24, 0xcf, 0x26, 0xa6, 0xd6, 0x96, 0xd7, 0xef, 0xff, 0x30, 0x31, 0xb7, 0xa6, 0x02, 0x2c,
+	0xa7, 0x48, 0x07, 0xe0, 0x58, 0x5b, 0xd7, 0x96, 0x12, 0x0f, 0xcf, 0x33, 0xc5, 0xed, 0x54, 0x71,
+	0x7b, 0x40, 0x71, 0x7b, 0x4b, 0x85, 0x6a, 0x4d, 0xa7, 0xe0, 0xde, 0xf9, 0x37, 0x00, 0x00, 0xff,
+	0xff, 0xbb, 0x4b, 0xa8, 0x16, 0x83, 0x11, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// ManagedIdentitiesServiceClient is the client API for ManagedIdentitiesService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type ManagedIdentitiesServiceClient interface {
+	// Creates a Microsoft AD domain.
+	CreateMicrosoftAdDomain(ctx context.Context, in *CreateMicrosoftAdDomainRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Resets a domain's administrator password.
+	ResetAdminPassword(ctx context.Context, in *ResetAdminPasswordRequest, opts ...grpc.CallOption) (*ResetAdminPasswordResponse, error)
+	// Lists domains in a project.
+	ListDomains(ctx context.Context, in *ListDomainsRequest, opts ...grpc.CallOption) (*ListDomainsResponse, error)
+	// Gets information about a domain.
+	GetDomain(ctx context.Context, in *GetDomainRequest, opts ...grpc.CallOption) (*Domain, error)
+	// Updates the metadata and configuration of a domain.
+	UpdateDomain(ctx context.Context, in *UpdateDomainRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Deletes a domain.
+	DeleteDomain(ctx context.Context, in *DeleteDomainRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Adds an AD trust to a domain.
+	AttachTrust(ctx context.Context, in *AttachTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Updates the DNS conditional forwarder.
+	ReconfigureTrust(ctx context.Context, in *ReconfigureTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Removes an AD trust.
+	DetachTrust(ctx context.Context, in *DetachTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+	// Validates a trust state, that the target domain is reachable, and that the
+	// target domain is able to accept incoming trust requests.
+	ValidateTrust(ctx context.Context, in *ValidateTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
+}
+
+type managedIdentitiesServiceClient struct {
+	cc grpc.ClientConnInterface
+}
+
+func NewManagedIdentitiesServiceClient(cc grpc.ClientConnInterface) ManagedIdentitiesServiceClient {
+	return &managedIdentitiesServiceClient{cc}
+}
+
+func (c *managedIdentitiesServiceClient) CreateMicrosoftAdDomain(ctx context.Context, in *CreateMicrosoftAdDomainRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/CreateMicrosoftAdDomain", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) ResetAdminPassword(ctx context.Context, in *ResetAdminPasswordRequest, opts ...grpc.CallOption) (*ResetAdminPasswordResponse, error) {
+	out := new(ResetAdminPasswordResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ResetAdminPassword", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) ListDomains(ctx context.Context, in *ListDomainsRequest, opts ...grpc.CallOption) (*ListDomainsResponse, error) {
+	out := new(ListDomainsResponse)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ListDomains", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) GetDomain(ctx context.Context, in *GetDomainRequest, opts ...grpc.CallOption) (*Domain, error) {
+	out := new(Domain)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/GetDomain", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) UpdateDomain(ctx context.Context, in *UpdateDomainRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/UpdateDomain", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) DeleteDomain(ctx context.Context, in *DeleteDomainRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/DeleteDomain", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) AttachTrust(ctx context.Context, in *AttachTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/AttachTrust", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) ReconfigureTrust(ctx context.Context, in *ReconfigureTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ReconfigureTrust", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) DetachTrust(ctx context.Context, in *DetachTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/DetachTrust", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *managedIdentitiesServiceClient) ValidateTrust(ctx context.Context, in *ValidateTrustRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+	out := new(longrunning.Operation)
+	err := c.cc.Invoke(ctx, "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ValidateTrust", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// ManagedIdentitiesServiceServer is the server API for ManagedIdentitiesService service.
+type ManagedIdentitiesServiceServer interface {
+	// Creates a Microsoft AD domain.
+	CreateMicrosoftAdDomain(context.Context, *CreateMicrosoftAdDomainRequest) (*longrunning.Operation, error)
+	// Resets a domain's administrator password.
+	ResetAdminPassword(context.Context, *ResetAdminPasswordRequest) (*ResetAdminPasswordResponse, error)
+	// Lists domains in a project.
+	ListDomains(context.Context, *ListDomainsRequest) (*ListDomainsResponse, error)
+	// Gets information about a domain.
+	GetDomain(context.Context, *GetDomainRequest) (*Domain, error)
+	// Updates the metadata and configuration of a domain.
+	UpdateDomain(context.Context, *UpdateDomainRequest) (*longrunning.Operation, error)
+	// Deletes a domain.
+	DeleteDomain(context.Context, *DeleteDomainRequest) (*longrunning.Operation, error)
+	// Adds an AD trust to a domain.
+	AttachTrust(context.Context, *AttachTrustRequest) (*longrunning.Operation, error)
+	// Updates the DNS conditional forwarder.
+	ReconfigureTrust(context.Context, *ReconfigureTrustRequest) (*longrunning.Operation, error)
+	// Removes an AD trust.
+	DetachTrust(context.Context, *DetachTrustRequest) (*longrunning.Operation, error)
+	// Validates a trust state, that the target domain is reachable, and that the
+	// target domain is able to accept incoming trust requests.
+	ValidateTrust(context.Context, *ValidateTrustRequest) (*longrunning.Operation, error)
+}
+
+// UnimplementedManagedIdentitiesServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedManagedIdentitiesServiceServer struct {
+}
+
+func (*UnimplementedManagedIdentitiesServiceServer) CreateMicrosoftAdDomain(ctx context.Context, req *CreateMicrosoftAdDomainRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method CreateMicrosoftAdDomain not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) ResetAdminPassword(ctx context.Context, req *ResetAdminPasswordRequest) (*ResetAdminPasswordResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ResetAdminPassword not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) ListDomains(ctx context.Context, req *ListDomainsRequest) (*ListDomainsResponse, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ListDomains not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) GetDomain(ctx context.Context, req *GetDomainRequest) (*Domain, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method GetDomain not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) UpdateDomain(ctx context.Context, req *UpdateDomainRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UpdateDomain not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) DeleteDomain(ctx context.Context, req *DeleteDomainRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DeleteDomain not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) AttachTrust(ctx context.Context, req *AttachTrustRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AttachTrust not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) ReconfigureTrust(ctx context.Context, req *ReconfigureTrustRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ReconfigureTrust not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) DetachTrust(ctx context.Context, req *DetachTrustRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method DetachTrust not implemented")
+}
+func (*UnimplementedManagedIdentitiesServiceServer) ValidateTrust(ctx context.Context, req *ValidateTrustRequest) (*longrunning.Operation, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ValidateTrust not implemented")
+}
+
+func RegisterManagedIdentitiesServiceServer(s *grpc.Server, srv ManagedIdentitiesServiceServer) {
+	s.RegisterService(&_ManagedIdentitiesService_serviceDesc, srv)
+}
+
+func _ManagedIdentitiesService_CreateMicrosoftAdDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateMicrosoftAdDomainRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).CreateMicrosoftAdDomain(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/CreateMicrosoftAdDomain",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).CreateMicrosoftAdDomain(ctx, req.(*CreateMicrosoftAdDomainRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_ResetAdminPassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ResetAdminPasswordRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).ResetAdminPassword(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ResetAdminPassword",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).ResetAdminPassword(ctx, req.(*ResetAdminPasswordRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_ListDomains_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListDomainsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).ListDomains(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ListDomains",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).ListDomains(ctx, req.(*ListDomainsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_GetDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetDomainRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).GetDomain(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/GetDomain",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).GetDomain(ctx, req.(*GetDomainRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_UpdateDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateDomainRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).UpdateDomain(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/UpdateDomain",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).UpdateDomain(ctx, req.(*UpdateDomainRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_DeleteDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteDomainRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).DeleteDomain(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/DeleteDomain",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).DeleteDomain(ctx, req.(*DeleteDomainRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_AttachTrust_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(AttachTrustRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).AttachTrust(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/AttachTrust",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).AttachTrust(ctx, req.(*AttachTrustRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_ReconfigureTrust_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ReconfigureTrustRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).ReconfigureTrust(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ReconfigureTrust",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).ReconfigureTrust(ctx, req.(*ReconfigureTrustRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_DetachTrust_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DetachTrustRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).DetachTrust(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/DetachTrust",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).DetachTrust(ctx, req.(*DetachTrustRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ManagedIdentitiesService_ValidateTrust_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ValidateTrustRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ManagedIdentitiesServiceServer).ValidateTrust(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.managedidentities.v1beta1.ManagedIdentitiesService/ValidateTrust",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ManagedIdentitiesServiceServer).ValidateTrust(ctx, req.(*ValidateTrustRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ManagedIdentitiesService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.managedidentities.v1beta1.ManagedIdentitiesService",
+	HandlerType: (*ManagedIdentitiesServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateMicrosoftAdDomain",
+			Handler:    _ManagedIdentitiesService_CreateMicrosoftAdDomain_Handler,
+		},
+		{
+			MethodName: "ResetAdminPassword",
+			Handler:    _ManagedIdentitiesService_ResetAdminPassword_Handler,
+		},
+		{
+			MethodName: "ListDomains",
+			Handler:    _ManagedIdentitiesService_ListDomains_Handler,
+		},
+		{
+			MethodName: "GetDomain",
+			Handler:    _ManagedIdentitiesService_GetDomain_Handler,
+		},
+		{
+			MethodName: "UpdateDomain",
+			Handler:    _ManagedIdentitiesService_UpdateDomain_Handler,
+		},
+		{
+			MethodName: "DeleteDomain",
+			Handler:    _ManagedIdentitiesService_DeleteDomain_Handler,
+		},
+		{
+			MethodName: "AttachTrust",
+			Handler:    _ManagedIdentitiesService_AttachTrust_Handler,
+		},
+		{
+			MethodName: "ReconfigureTrust",
+			Handler:    _ManagedIdentitiesService_ReconfigureTrust_Handler,
+		},
+		{
+			MethodName: "DetachTrust",
+			Handler:    _ManagedIdentitiesService_DetachTrust_Handler,
+		},
+		{
+			MethodName: "ValidateTrust",
+			Handler:    _ManagedIdentitiesService_ValidateTrust_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: "google/cloud/managedidentities/v1beta1/managed_identities_service.proto",
+}
diff --git a/googleapis/cloud/managedidentities/v1beta1/resource.pb.go b/googleapis/cloud/managedidentities/v1beta1/resource.pb.go
new file mode 100644
index 0000000..c3dea27
--- /dev/null
+++ b/googleapis/cloud/managedidentities/v1beta1/resource.pb.go
@@ -0,0 +1,566 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/managedidentities/v1beta1/resource.proto
+
+package managedidentities
+
+import (
+	fmt "fmt"
+	math "math"
+
+	proto "github.com/golang/protobuf/proto"
+	timestamp "github.com/golang/protobuf/ptypes/timestamp"
+	_ "google.golang.org/genproto/googleapis/api/annotations"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// Represents the different states of a managed domain.
+type Domain_State int32
+
+const (
+	// Not set.
+	Domain_STATE_UNSPECIFIED Domain_State = 0
+	// The domain is being created.
+	Domain_CREATING Domain_State = 1
+	// The domain has been created and is fully usable.
+	Domain_READY Domain_State = 2
+	// The domain's configuration is being updated.
+	Domain_UPDATING Domain_State = 3
+	// The domain is being deleted.
+	Domain_DELETING Domain_State = 4
+	// The domain is being repaired and may be unusable. Details
+	// can be found in the `status_message` field.
+	Domain_REPAIRING Domain_State = 5
+	// The domain is undergoing maintenance.
+	Domain_PERFORMING_MAINTENANCE Domain_State = 6
+	// The domain is not serving requests.
+	Domain_UNAVAILABLE Domain_State = 7
+)
+
+var Domain_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "CREATING",
+	2: "READY",
+	3: "UPDATING",
+	4: "DELETING",
+	5: "REPAIRING",
+	6: "PERFORMING_MAINTENANCE",
+	7: "UNAVAILABLE",
+}
+
+var Domain_State_value = map[string]int32{
+	"STATE_UNSPECIFIED":      0,
+	"CREATING":               1,
+	"READY":                  2,
+	"UPDATING":               3,
+	"DELETING":               4,
+	"REPAIRING":              5,
+	"PERFORMING_MAINTENANCE": 6,
+	"UNAVAILABLE":            7,
+}
+
+func (x Domain_State) String() string {
+	return proto.EnumName(Domain_State_name, int32(x))
+}
+
+func (Domain_State) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_8981da39176e480d, []int{0, 0}
+}
+
+// Represents the different states of a domain trust.
+type Trust_State int32
+
+const (
+	// Not set.
+	Trust_STATE_UNSPECIFIED Trust_State = 0
+	// The domain trust is being created.
+	Trust_CREATING Trust_State = 1
+	// The domain trust is being updated.
+	Trust_UPDATING Trust_State = 2
+	// The domain trust is being deleted.
+	Trust_DELETING Trust_State = 3
+	// The domain trust is connected.
+	Trust_CONNECTED Trust_State = 4
+	// The domain trust is disconnected.
+	Trust_DISCONNECTED Trust_State = 5
+)
+
+var Trust_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "CREATING",
+	2: "UPDATING",
+	3: "DELETING",
+	4: "CONNECTED",
+	5: "DISCONNECTED",
+}
+
+var Trust_State_value = map[string]int32{
+	"STATE_UNSPECIFIED": 0,
+	"CREATING":          1,
+	"UPDATING":          2,
+	"DELETING":          3,
+	"CONNECTED":         4,
+	"DISCONNECTED":      5,
+}
+
+func (x Trust_State) String() string {
+	return proto.EnumName(Trust_State_name, int32(x))
+}
+
+func (Trust_State) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_8981da39176e480d, []int{1, 0}
+}
+
+// Represents the different inter-forest trust types.
+type Trust_TrustType int32
+
+const (
+	// Not set.
+	Trust_TRUST_TYPE_UNSPECIFIED Trust_TrustType = 0
+	// The forest trust.
+	Trust_FOREST Trust_TrustType = 1
+	// The external domain trust.
+	Trust_EXTERNAL Trust_TrustType = 2
+)
+
+var Trust_TrustType_name = map[int32]string{
+	0: "TRUST_TYPE_UNSPECIFIED",
+	1: "FOREST",
+	2: "EXTERNAL",
+}
+
+var Trust_TrustType_value = map[string]int32{
+	"TRUST_TYPE_UNSPECIFIED": 0,
+	"FOREST":                 1,
+	"EXTERNAL":               2,
+}
+
+func (x Trust_TrustType) String() string {
+	return proto.EnumName(Trust_TrustType_name, int32(x))
+}
+
+func (Trust_TrustType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_8981da39176e480d, []int{1, 1}
+}
+
+// Represents the direction of trust.
+// See
+// [System.DirectoryServices.ActiveDirectory.TrustDirection](https://docs.microsoft.com/en-us/dotnet/api/system.directoryservices.activedirectory.trustdirection?view=netframework-4.7.2)
+// for more information.
+type Trust_TrustDirection int32
+
+const (
+	// Not set.
+	Trust_TRUST_DIRECTION_UNSPECIFIED Trust_TrustDirection = 0
+	// The inbound direction represents the trusting side.
+	Trust_INBOUND Trust_TrustDirection = 1
+	// The outboud direction represents the trusted side.
+	Trust_OUTBOUND Trust_TrustDirection = 2
+	// The bidirectional direction represents the trusted / trusting side.
+	Trust_BIDIRECTIONAL Trust_TrustDirection = 3
+)
+
+var Trust_TrustDirection_name = map[int32]string{
+	0: "TRUST_DIRECTION_UNSPECIFIED",
+	1: "INBOUND",
+	2: "OUTBOUND",
+	3: "BIDIRECTIONAL",
+}
+
+var Trust_TrustDirection_value = map[string]int32{
+	"TRUST_DIRECTION_UNSPECIFIED": 0,
+	"INBOUND":                     1,
+	"OUTBOUND":                    2,
+	"BIDIRECTIONAL":               3,
+}
+
+func (x Trust_TrustDirection) String() string {
+	return proto.EnumName(Trust_TrustDirection_name, int32(x))
+}
+
+func (Trust_TrustDirection) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_8981da39176e480d, []int{1, 2}
+}
+
+// Represents a managed Microsoft Active Directory domain.
+type Domain struct {
+	// Output only. The unique name of the domain using the form:
+	// `projects/{project_id}/locations/global/domains/{domain_name}`.
+	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+	// Optional. Resource labels that can contain user-provided metadata.
+	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+	// Optional. The full names of the Google Compute Engine
+	// [networks](/compute/docs/networks-and-firewalls#networks) the domain
+	// instance is connected to. Networks can be added using UpdateDomain.
+	// The domain is only available on networks listed in `authorized_networks`.
+	// If CIDR subnets overlap between networks, domain creation will fail.
+	AuthorizedNetworks []string `protobuf:"bytes,3,rep,name=authorized_networks,json=authorizedNetworks,proto3" json:"authorized_networks,omitempty"`
+	// Required. The CIDR range of internal addresses that are reserved for this
+	// domain. Reserved networks must be /24 or larger. Ranges must be
+	// unique and non-overlapping with existing subnets in
+	// [Domain].[authorized_networks].
+	ReservedIpRange string `protobuf:"bytes,4,opt,name=reserved_ip_range,json=reservedIpRange,proto3" json:"reserved_ip_range,omitempty"`
+	// Required. Locations where domain needs to be provisioned.
+	// [regions][compute/docs/regions-zones/]
+	// e.g. us-west1 or us-east4
+	// Service supports up to 4 locations at once. Each location will use a /26
+	// block.
+	Locations []string `protobuf:"bytes,5,rep,name=locations,proto3" json:"locations,omitempty"`
+	// Optional. The name of delegated administrator account used to perform
+	// Active Directory operations. If not specified, `setupadmin` will be used.
+	Admin string `protobuf:"bytes,6,opt,name=admin,proto3" json:"admin,omitempty"`
+	// Output only. The fully-qualified domain name of the exposed domain used by
+	// clients to connect to the service. Similar to what would be chosen for an
+	// Active Directory set up on an internal network.
+	Fqdn string `protobuf:"bytes,10,opt,name=fqdn,proto3" json:"fqdn,omitempty"`
+	// Output only. The time the instance was created.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last update time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// Output only. The current state of this domain.
+	State Domain_State `protobuf:"varint,13,opt,name=state,proto3,enum=google.cloud.managedidentities.v1beta1.Domain_State" json:"state,omitempty"`
+	// Output only. Additional information about the current status of this
+	// domain, if available.
+	StatusMessage string `protobuf:"bytes,14,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"`
+	// Output only. The current trusts associated with the domain.
+	Trusts               []*Trust `protobuf:"bytes,15,rep,name=trusts,proto3" json:"trusts,omitempty"`
+	XXX_NoUnkeyedLiteral struct{} `json:"-"`
+	XXX_unrecognized     []byte   `json:"-"`
+	XXX_sizecache        int32    `json:"-"`
+}
+
+func (m *Domain) Reset()         { *m = Domain{} }
+func (m *Domain) String() string { return proto.CompactTextString(m) }
+func (*Domain) ProtoMessage()    {}
+func (*Domain) Descriptor() ([]byte, []int) {
+	return fileDescriptor_8981da39176e480d, []int{0}
+}
+
+func (m *Domain) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Domain.Unmarshal(m, b)
+}
+func (m *Domain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Domain.Marshal(b, m, deterministic)
+}
+func (m *Domain) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Domain.Merge(m, src)
+}
+func (m *Domain) XXX_Size() int {
+	return xxx_messageInfo_Domain.Size(m)
+}
+func (m *Domain) XXX_DiscardUnknown() {
+	xxx_messageInfo_Domain.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Domain proto.InternalMessageInfo
+
+func (m *Domain) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Domain) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *Domain) GetAuthorizedNetworks() []string {
+	if m != nil {
+		return m.AuthorizedNetworks
+	}
+	return nil
+}
+
+func (m *Domain) GetReservedIpRange() string {
+	if m != nil {
+		return m.ReservedIpRange
+	}
+	return ""
+}
+
+func (m *Domain) GetLocations() []string {
+	if m != nil {
+		return m.Locations
+	}
+	return nil
+}
+
+func (m *Domain) GetAdmin() string {
+	if m != nil {
+		return m.Admin
+	}
+	return ""
+}
+
+func (m *Domain) GetFqdn() string {
+	if m != nil {
+		return m.Fqdn
+	}
+	return ""
+}
+
+func (m *Domain) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Domain) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *Domain) GetState() Domain_State {
+	if m != nil {
+		return m.State
+	}
+	return Domain_STATE_UNSPECIFIED
+}
+
+func (m *Domain) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *Domain) GetTrusts() []*Trust {
+	if m != nil {
+		return m.Trusts
+	}
+	return nil
+}
+
+// Represents a relationship between two domains. This allows a controller in
+// one domain to authenticate a user in another domain.
+type Trust struct {
+	// The fully qualified target domain name which will be in trust with the
+	// current domain.
+	TargetDomainName string `protobuf:"bytes,1,opt,name=target_domain_name,json=targetDomainName,proto3" json:"target_domain_name,omitempty"`
+	// The type of trust represented by the trust resource.
+	TrustType Trust_TrustType `protobuf:"varint,2,opt,name=trust_type,json=trustType,proto3,enum=google.cloud.managedidentities.v1beta1.Trust_TrustType" json:"trust_type,omitempty"`
+	// The trust direction, which decides if the current domain is trusted,
+	// trusting, or both.
+	TrustDirection Trust_TrustDirection `protobuf:"varint,3,opt,name=trust_direction,json=trustDirection,proto3,enum=google.cloud.managedidentities.v1beta1.Trust_TrustDirection" json:"trust_direction,omitempty"`
+	// The trust authentication type, which decides whether the trusted side has
+	// forest/domain wide access or selective access to an approved set of
+	// resources.
+	SelectiveAuthentication bool `protobuf:"varint,4,opt,name=selective_authentication,json=selectiveAuthentication,proto3" json:"selective_authentication,omitempty"`
+	// The target DNS server IP addresses which can resolve the remote domain
+	// involved in the trust.
+	TargetDnsIpAddresses []string `protobuf:"bytes,5,rep,name=target_dns_ip_addresses,json=targetDnsIpAddresses,proto3" json:"target_dns_ip_addresses,omitempty"`
+	// Input only, and will not be stored. The trust secret used for the handshake
+	// with the target domain.
+	TrustHandshakeSecret string `protobuf:"bytes,6,opt,name=trust_handshake_secret,json=trustHandshakeSecret,proto3" json:"trust_handshake_secret,omitempty"`
+	// Output only. The time the instance was created.
+	CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+	// Output only. The last update time.
+	UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+	// Output only. The current state of the trust.
+	State Trust_State `protobuf:"varint,9,opt,name=state,proto3,enum=google.cloud.managedidentities.v1beta1.Trust_State" json:"state,omitempty"`
+	// Output only. Additional information about the current state of the
+	// trust, if available.
+	StateDescription string `protobuf:"bytes,11,opt,name=state_description,json=stateDescription,proto3" json:"state_description,omitempty"`
+	// Output only. The last heartbeat time when the trust was known to be
+	// connected.
+	LastTrustHeartbeatTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=last_trust_heartbeat_time,json=lastTrustHeartbeatTime,proto3" json:"last_trust_heartbeat_time,omitempty"`
+	XXX_NoUnkeyedLiteral   struct{}             `json:"-"`
+	XXX_unrecognized       []byte               `json:"-"`
+	XXX_sizecache          int32                `json:"-"`
+}
+
+func (m *Trust) Reset()         { *m = Trust{} }
+func (m *Trust) String() string { return proto.CompactTextString(m) }
+func (*Trust) ProtoMessage()    {}
+func (*Trust) Descriptor() ([]byte, []int) {
+	return fileDescriptor_8981da39176e480d, []int{1}
+}
+
+func (m *Trust) XXX_Unmarshal(b []byte) error {
+	return xxx_messageInfo_Trust.Unmarshal(m, b)
+}
+func (m *Trust) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+	return xxx_messageInfo_Trust.Marshal(b, m, deterministic)
+}
+func (m *Trust) XXX_Merge(src proto.Message) {
+	xxx_messageInfo_Trust.Merge(m, src)
+}
+func (m *Trust) XXX_Size() int {
+	return xxx_messageInfo_Trust.Size(m)
+}
+func (m *Trust) XXX_DiscardUnknown() {
+	xxx_messageInfo_Trust.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Trust proto.InternalMessageInfo
+
+func (m *Trust) GetTargetDomainName() string {
+	if m != nil {
+		return m.TargetDomainName
+	}
+	return ""
+}
+
+func (m *Trust) GetTrustType() Trust_TrustType {
+	if m != nil {
+		return m.TrustType
+	}
+	return Trust_TRUST_TYPE_UNSPECIFIED
+}
+
+func (m *Trust) GetTrustDirection() Trust_TrustDirection {
+	if m != nil {
+		return m.TrustDirection
+	}
+	return Trust_TRUST_DIRECTION_UNSPECIFIED
+}
+
+func (m *Trust) GetSelectiveAuthentication() bool {
+	if m != nil {
+		return m.SelectiveAuthentication
+	}
+	return false
+}
+
+func (m *Trust) GetTargetDnsIpAddresses() []string {
+	if m != nil {
+		return m.TargetDnsIpAddresses
+	}
+	return nil
+}
+
+func (m *Trust) GetTrustHandshakeSecret() string {
+	if m != nil {
+		return m.TrustHandshakeSecret
+	}
+	return ""
+}
+
+func (m *Trust) GetCreateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Trust) GetUpdateTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.UpdateTime
+	}
+	return nil
+}
+
+func (m *Trust) GetState() Trust_State {
+	if m != nil {
+		return m.State
+	}
+	return Trust_STATE_UNSPECIFIED
+}
+
+func (m *Trust) GetStateDescription() string {
+	if m != nil {
+		return m.StateDescription
+	}
+	return ""
+}
+
+func (m *Trust) GetLastTrustHeartbeatTime() *timestamp.Timestamp {
+	if m != nil {
+		return m.LastTrustHeartbeatTime
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterEnum("google.cloud.managedidentities.v1beta1.Domain_State", Domain_State_name, Domain_State_value)
+	proto.RegisterEnum("google.cloud.managedidentities.v1beta1.Trust_State", Trust_State_name, Trust_State_value)
+	proto.RegisterEnum("google.cloud.managedidentities.v1beta1.Trust_TrustType", Trust_TrustType_name, Trust_TrustType_value)
+	proto.RegisterEnum("google.cloud.managedidentities.v1beta1.Trust_TrustDirection", Trust_TrustDirection_name, Trust_TrustDirection_value)
+	proto.RegisterType((*Domain)(nil), "google.cloud.managedidentities.v1beta1.Domain")
+	proto.RegisterMapType((map[string]string)(nil), "google.cloud.managedidentities.v1beta1.Domain.LabelsEntry")
+	proto.RegisterType((*Trust)(nil), "google.cloud.managedidentities.v1beta1.Trust")
+}
+
+func init() {
+	proto.RegisterFile("google/cloud/managedidentities/v1beta1/resource.proto", fileDescriptor_8981da39176e480d)
+}
+
+var fileDescriptor_8981da39176e480d = []byte{
+	// 960 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xd1, 0x6e, 0xdb, 0x36,
+	0x14, 0x9d, 0xed, 0xd8, 0x89, 0xaf, 0x13, 0x47, 0xe1, 0xb2, 0x54, 0xcb, 0x0a, 0x34, 0x30, 0xb0,
+	0x22, 0xe8, 0x36, 0x1b, 0x49, 0x5b, 0x6c, 0x6d, 0xf7, 0x22, 0x5b, 0x4c, 0xaa, 0xc1, 0x91, 0x0d,
+	0x5a, 0xce, 0xd6, 0xbd, 0x08, 0x8c, 0xc5, 0x2a, 0x42, 0x6c, 0x49, 0x13, 0xe9, 0x0c, 0xd9, 0x4f,
+	0xec, 0x6d, 0x1f, 0xb1, 0x9f, 0xd8, 0x4f, 0xed, 0x03, 0x06, 0x92, 0x52, 0x1c, 0xa7, 0x0f, 0x8d,
+	0xd7, 0x17, 0x83, 0x97, 0x87, 0xe7, 0x90, 0xf7, 0x90, 0xc7, 0x36, 0xbc, 0x0c, 0x93, 0x24, 0x9c,
+	0xb2, 0xce, 0x64, 0x9a, 0xcc, 0x83, 0xce, 0x8c, 0xc6, 0x34, 0x64, 0x41, 0x14, 0xb0, 0x58, 0x44,
+	0x22, 0x62, 0xbc, 0x73, 0x7d, 0x74, 0xc1, 0x04, 0x3d, 0xea, 0x64, 0x8c, 0x27, 0xf3, 0x6c, 0xc2,
+	0xda, 0x69, 0x96, 0x88, 0x04, 0x3d, 0xd5, 0xb4, 0xb6, 0xa2, 0xb5, 0x3f, 0xa0, 0xb5, 0x73, 0xda,
+	0xfe, 0x93, 0x5c, 0x5e, 0xb1, 0x2e, 0xe6, 0xef, 0x3b, 0x22, 0x9a, 0x31, 0x2e, 0xe8, 0x2c, 0xd5,
+	0x42, 0xfb, 0x8f, 0xf3, 0x05, 0x34, 0x8d, 0x3a, 0x34, 0x8e, 0x13, 0x41, 0x45, 0x94, 0xc4, 0x5c,
+	0xa3, 0xad, 0xbf, 0x6a, 0x50, 0xb3, 0x93, 0x19, 0x8d, 0x62, 0x84, 0x60, 0x2d, 0xa6, 0x33, 0x66,
+	0x96, 0x0e, 0x4a, 0x87, 0x75, 0xa2, 0xc6, 0x88, 0x40, 0x6d, 0x4a, 0x2f, 0xd8, 0x94, 0x9b, 0xe5,
+	0x83, 0xca, 0x61, 0xe3, 0xf8, 0x75, 0xfb, 0x61, 0xc7, 0x6a, 0x6b, 0xcd, 0x76, 0x5f, 0x91, 0x71,
+	0x2c, 0xb2, 0x1b, 0x92, 0x2b, 0xa1, 0x0e, 0x7c, 0x4e, 0xe7, 0xe2, 0x32, 0xc9, 0xa2, 0x3f, 0x58,
+	0xe0, 0xc7, 0x4c, 0xfc, 0x9e, 0x64, 0x57, 0xdc, 0xac, 0x1c, 0x54, 0x0e, 0xeb, 0x04, 0x2d, 0x20,
+	0x37, 0x47, 0xd0, 0x33, 0xd8, 0xc9, 0x18, 0x67, 0xd9, 0x35, 0x0b, 0xfc, 0x28, 0xf5, 0x33, 0x1a,
+	0x87, 0xcc, 0x5c, 0x53, 0xa7, 0xdc, 0x2e, 0x00, 0x27, 0x25, 0x72, 0x1a, 0x3d, 0x86, 0xfa, 0x34,
+	0x99, 0xe8, 0x16, 0xcd, 0xaa, 0x92, 0x5c, 0x4c, 0xa0, 0x5d, 0xa8, 0xd2, 0x60, 0x16, 0xc5, 0x66,
+	0x4d, 0xb1, 0x75, 0x21, 0x1b, 0x7f, 0xff, 0x5b, 0x10, 0x9b, 0xa0, 0x1b, 0x97, 0x63, 0xf4, 0x06,
+	0x1a, 0x93, 0x8c, 0x51, 0xc1, 0x7c, 0xe9, 0xa7, 0xd9, 0x38, 0x28, 0x1d, 0x36, 0x8e, 0xf7, 0x8b,
+	0xee, 0x0b, 0xb3, 0xdb, 0x5e, 0x61, 0x36, 0x01, 0xbd, 0x5c, 0x4e, 0x48, 0xf2, 0x3c, 0x0d, 0x6e,
+	0xc9, 0x9b, 0x1f, 0x27, 0xeb, 0xe5, 0x8a, 0xfc, 0x13, 0x54, 0xb9, 0xa0, 0x82, 0x99, 0x5b, 0x07,
+	0xa5, 0xc3, 0xe6, 0xf1, 0x8b, 0x15, 0x1d, 0x1f, 0x49, 0x2e, 0xd1, 0x12, 0xe8, 0x6b, 0x68, 0xca,
+	0xc1, 0x9c, 0xfb, 0x33, 0xc6, 0x39, 0x0d, 0x99, 0xd9, 0x54, 0x3d, 0x6e, 0xe9, 0xd9, 0x33, 0x3d,
+	0x89, 0x30, 0xd4, 0x44, 0x36, 0xe7, 0x82, 0x9b, 0xdb, 0xea, 0x96, 0xbf, 0x7b, 0xe8, 0x9e, 0x9e,
+	0x64, 0x91, 0x9c, 0xbc, 0xff, 0x0a, 0x1a, 0x77, 0xee, 0x1b, 0x19, 0x50, 0xb9, 0x62, 0x37, 0xf9,
+	0x73, 0x92, 0x43, 0x69, 0xff, 0x35, 0x9d, 0xce, 0x99, 0x59, 0xd6, 0xf6, 0xab, 0xe2, 0x75, 0xf9,
+	0x87, 0x52, 0xeb, 0xcf, 0x12, 0x54, 0xd5, 0xc9, 0xd1, 0x17, 0xb0, 0x33, 0xf2, 0x2c, 0x0f, 0xfb,
+	0x63, 0x77, 0x34, 0xc4, 0x3d, 0xe7, 0xc4, 0xc1, 0xb6, 0xf1, 0x19, 0xda, 0x84, 0x8d, 0x1e, 0xc1,
+	0x96, 0xe7, 0xb8, 0xa7, 0x46, 0x09, 0xd5, 0xa1, 0x4a, 0xb0, 0x65, 0xbf, 0x33, 0xca, 0x12, 0x18,
+	0x0f, 0x6d, 0x0d, 0x54, 0x64, 0x65, 0xe3, 0x3e, 0x56, 0xd5, 0x1a, 0xda, 0x82, 0x3a, 0xc1, 0x43,
+	0xcb, 0x21, 0xb2, 0xac, 0xa2, 0x7d, 0xd8, 0x1b, 0x62, 0x72, 0x32, 0x20, 0x67, 0x8e, 0x7b, 0xea,
+	0x9f, 0x59, 0x8e, 0xeb, 0x61, 0xd7, 0x72, 0x7b, 0xd8, 0xa8, 0xa1, 0x6d, 0x68, 0x8c, 0x5d, 0xeb,
+	0xdc, 0x72, 0xfa, 0x56, 0xb7, 0x8f, 0x8d, 0xf5, 0xd6, 0xbf, 0xeb, 0x50, 0x55, 0xed, 0xa1, 0x6f,
+	0x01, 0x09, 0x9a, 0x85, 0x4c, 0xf8, 0x81, 0xb2, 0xd8, 0xbf, 0x93, 0x12, 0x43, 0x23, 0xda, 0x7b,
+	0x57, 0x26, 0xe6, 0x1c, 0x40, 0xd9, 0xe1, 0x8b, 0x9b, 0x54, 0x37, 0xda, 0x3c, 0xfe, 0x7e, 0x25,
+	0x3f, 0xf5, 0xa7, 0x77, 0x93, 0x32, 0x52, 0x17, 0xc5, 0x10, 0x31, 0xd8, 0xd6, 0xba, 0x41, 0x94,
+	0xb1, 0x89, 0x7c, 0xce, 0x66, 0x45, 0x89, 0xff, 0xf8, 0x3f, 0xc4, 0xed, 0x42, 0x83, 0x34, 0xc5,
+	0x52, 0x8d, 0x5e, 0x81, 0xc9, 0xd9, 0x54, 0x16, 0xd7, 0xcc, 0x97, 0x59, 0x94, 0x32, 0x3a, 0x3e,
+	0x2a, 0x72, 0x1b, 0xe4, 0xd1, 0x2d, 0x6e, 0x2d, 0xc1, 0xe8, 0x25, 0x3c, 0x2a, 0x7c, 0x8a, 0xb9,
+	0x0c, 0x2a, 0x0d, 0x82, 0x8c, 0x71, 0xce, 0x8a, 0x20, 0xee, 0xe6, 0x66, 0xc5, 0xdc, 0x49, 0xad,
+	0x02, 0x43, 0x2f, 0x60, 0x4f, 0x37, 0x76, 0x49, 0xe3, 0x80, 0x5f, 0xd2, 0x2b, 0xe6, 0x73, 0x36,
+	0xc9, 0x98, 0xc8, 0x43, 0xba, 0xab, 0xd0, 0xb7, 0x05, 0x38, 0x52, 0xd8, 0xfd, 0x7c, 0xae, 0x7f,
+	0x4a, 0x3e, 0x37, 0x56, 0xca, 0xa7, 0x53, 0xe4, 0xb3, 0xae, 0xec, 0x7f, 0xbe, 0x9a, 0xfd, 0x4b,
+	0xf1, 0xfc, 0x06, 0x76, 0xd4, 0xc0, 0x0f, 0x18, 0x9f, 0x64, 0x51, 0xaa, 0x5c, 0x6e, 0xe8, 0x87,
+	0xa5, 0x00, 0x7b, 0x31, 0x8f, 0xc6, 0xf0, 0xe5, 0x94, 0xca, 0x77, 0xa5, 0xcd, 0x62, 0x34, 0x13,
+	0x17, 0x8c, 0x8a, 0x87, 0x7e, 0xc5, 0xec, 0x49, 0xb2, 0x3a, 0xc3, 0xdb, 0x82, 0x2a, 0xc1, 0x56,
+	0xb4, 0x52, 0xf0, 0xee, 0xa6, 0xad, 0xbc, 0x94, 0xb6, 0x8a, 0x4c, 0x5b, 0x6f, 0xe0, 0xba, 0xb8,
+	0xe7, 0x61, 0xdb, 0x58, 0x43, 0x06, 0x6c, 0xda, 0xce, 0x68, 0x31, 0x53, 0x6d, 0x59, 0x50, 0xbf,
+	0x7d, 0xda, 0x32, 0x8c, 0x1e, 0x19, 0x8f, 0x3c, 0xdf, 0x7b, 0x37, 0xbc, 0xbf, 0x27, 0x40, 0xed,
+	0x64, 0x40, 0xf0, 0xc8, 0xd3, 0x3b, 0xe2, 0x5f, 0x3c, 0x4c, 0x5c, 0xab, 0x6f, 0x94, 0x5b, 0x3e,
+	0x34, 0x97, 0x1f, 0x30, 0x7a, 0x02, 0x5f, 0x69, 0x1d, 0xdb, 0x21, 0xb8, 0xe7, 0x39, 0x03, 0xf7,
+	0x9e, 0x58, 0x03, 0xd6, 0x1d, 0xb7, 0x3b, 0x18, 0xbb, 0xb6, 0x56, 0x1b, 0x8c, 0x3d, 0x5d, 0x95,
+	0xd1, 0x0e, 0x6c, 0x75, 0x9d, 0x5b, 0x9e, 0xd5, 0x37, 0x2a, 0xdd, 0x7f, 0x4a, 0xf0, 0x6c, 0x92,
+	0xcc, 0x1e, 0x78, 0xa9, 0xdd, 0x2d, 0x92, 0xff, 0x6a, 0x0f, 0xa5, 0xe3, 0xc3, 0xd2, 0xaf, 0x3f,
+	0xe7, 0xc4, 0x30, 0x99, 0xd2, 0x38, 0x6c, 0x27, 0x59, 0xd8, 0x09, 0x59, 0xac, 0xee, 0xa3, 0xa3,
+	0x21, 0x9a, 0x46, 0xfc, 0x63, 0x7f, 0x06, 0xde, 0x7c, 0x80, 0xfc, 0x5d, 0x7e, 0x7a, 0xaa, 0x95,
+	0x7b, 0xea, 0x48, 0x67, 0x7a, 0x81, 0xb3, 0x38, 0xd2, 0xf9, 0x51, 0x57, 0x52, 0x2f, 0x6a, 0x6a,
+	0xb3, 0xe7, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xda, 0xda, 0xbf, 0x21, 0x78, 0x08, 0x00, 0x00,
+}