auto-regenerate .pb.go files (#331)
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.
diff --git a/googleapis/cloud/datacatalog/v1/datacatalog.pb.go b/googleapis/cloud/datacatalog/v1/datacatalog.pb.go
index d3339f5..02c9ef2 100644
--- a/googleapis/cloud/datacatalog/v1/datacatalog.pb.go
+++ b/googleapis/cloud/datacatalog/v1/datacatalog.pb.go
@@ -44,7 +44,7 @@
// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
EntryType_MODEL EntryType = 5
// Output only. An entry type which is used for streaming entries. Example:
- // Cloud Pub/Sub topic.
+ // Pub/Sub topic.
EntryType_DATA_STREAM EntryType = 3
// An entry type which is a set of files or objects. Example:
// Cloud Storage fileset.
@@ -946,7 +946,7 @@
// Entry Metadata.
// A Data Catalog Entry resource represents another resource in Google
-// Cloud Platform (such as a BigQuery dataset or a Cloud Pub/Sub topic) or
+// Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic) or
// outside of Google Cloud Platform. Clients can use the `linked_resource` field
// in the Entry resource to refer to the original resource ID of the source
// system.
@@ -2553,9 +2553,8 @@
// - Tag templates.
// - Entries.
// - Entry groups.
- // Note, this method cannot be used to manage policies for BigQuery, Cloud
- // Pub/Sub and any external Google Cloud Platform resources synced to Cloud
- // Data Catalog.
+ // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
+ // and any external Google Cloud Platform resources synced to Data Catalog.
//
// Callers must have following Google IAM permission
// - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
@@ -2571,9 +2570,8 @@
// - Tag templates.
// - Entries.
// - Entry groups.
- // Note, this method cannot be used to manage policies for BigQuery, Cloud
- // Pub/Sub and any external Google Cloud Platform resources synced to Cloud
- // Data Catalog.
+ // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
+ // and any external Google Cloud Platform resources synced to Data Catalog.
//
// Callers must have following Google IAM permission
// - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
@@ -2589,9 +2587,8 @@
// - Tag templates.
// - Entries.
// - Entry groups.
- // Note, this method cannot be used to manage policies for BigQuery, Cloud
- // Pub/Sub and any external Google Cloud Platform resources synced to Cloud
- // Data Catalog.
+ // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
+ // and any external Google Cloud Platform resources synced to Data Catalog.
//
// A caller is not required to have Google IAM permission to make this
// request.
@@ -2989,9 +2986,8 @@
// - Tag templates.
// - Entries.
// - Entry groups.
- // Note, this method cannot be used to manage policies for BigQuery, Cloud
- // Pub/Sub and any external Google Cloud Platform resources synced to Cloud
- // Data Catalog.
+ // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
+ // and any external Google Cloud Platform resources synced to Data Catalog.
//
// Callers must have following Google IAM permission
// - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
@@ -3007,9 +3003,8 @@
// - Tag templates.
// - Entries.
// - Entry groups.
- // Note, this method cannot be used to manage policies for BigQuery, Cloud
- // Pub/Sub and any external Google Cloud Platform resources synced to Cloud
- // Data Catalog.
+ // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
+ // and any external Google Cloud Platform resources synced to Data Catalog.
//
// Callers must have following Google IAM permission
// - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
@@ -3025,9 +3020,8 @@
// - Tag templates.
// - Entries.
// - Entry groups.
- // Note, this method cannot be used to manage policies for BigQuery, Cloud
- // Pub/Sub and any external Google Cloud Platform resources synced to Cloud
- // Data Catalog.
+ // Note, this method cannot be used to manage policies for BigQuery, Pub/Sub
+ // and any external Google Cloud Platform resources synced to Data Catalog.
//
// A caller is not required to have Google IAM permission to make this
// request.
diff --git a/googleapis/cloud/osconfig/v1/osconfig_service.pb.go b/googleapis/cloud/osconfig/v1/osconfig_service.pb.go
new file mode 100644
index 0000000..d0d2f69
--- /dev/null
+++ b/googleapis/cloud/osconfig/v1/osconfig_service.pb.go
@@ -0,0 +1,467 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/osconfig/v1/osconfig_service.proto
+
+package osconfig
+
+import (
+ context "context"
+ fmt "fmt"
+ math "math"
+
+ proto "github.com/golang/protobuf/proto"
+ empty "github.com/golang/protobuf/ptypes/empty"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ 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
+
+func init() {
+ proto.RegisterFile("google/cloud/osconfig/v1/osconfig_service.proto", fileDescriptor_23b8161c718b0c34)
+}
+
+var fileDescriptor_23b8161c718b0c34 = []byte{
+ // 656 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0xbd, 0x6e, 0x13, 0x4d,
+ 0x14, 0xd5, 0x7e, 0xfa, 0x94, 0x62, 0x50, 0x08, 0x1a, 0x11, 0x82, 0x9c, 0x34, 0x2c, 0x0d, 0x31,
+ 0xc9, 0x4c, 0x12, 0x93, 0x20, 0x4c, 0x22, 0xe1, 0xd8, 0x11, 0x22, 0x20, 0x11, 0x41, 0x47, 0x63,
+ 0x8d, 0xd7, 0xe3, 0xf5, 0x46, 0xbb, 0x33, 0xc3, 0xce, 0xd8, 0x26, 0x42, 0x69, 0x78, 0x03, 0x44,
+ 0x87, 0x84, 0x44, 0x41, 0xcb, 0x2b, 0x20, 0x6a, 0x4a, 0xe8, 0x5c, 0x51, 0x50, 0xf2, 0x10, 0x68,
+ 0x7f, 0x66, 0xbd, 0xbb, 0xf1, 0xfa, 0x07, 0xba, 0xf5, 0xcc, 0x39, 0xf7, 0x9e, 0x33, 0xf7, 0x5e,
+ 0x5f, 0x80, 0x6d, 0xce, 0x6d, 0x97, 0x62, 0xcb, 0xe5, 0xbd, 0x36, 0xe6, 0xd2, 0xe2, 0xac, 0xe3,
+ 0xd8, 0xb8, 0xbf, 0x9d, 0x7c, 0x37, 0x25, 0xf5, 0xfb, 0x8e, 0x45, 0x91, 0xf0, 0xb9, 0xe2, 0xf0,
+ 0x7a, 0x44, 0x40, 0x21, 0x01, 0x69, 0x10, 0xea, 0x6f, 0x97, 0xd6, 0xe2, 0x50, 0x44, 0x38, 0x98,
+ 0x30, 0xc6, 0x15, 0x51, 0x0e, 0x67, 0x32, 0xe2, 0x95, 0x56, 0x52, 0xb7, 0x96, 0xeb, 0x50, 0xa6,
+ 0xe2, 0x8b, 0xad, 0x42, 0x05, 0x82, 0x28, 0xab, 0xdb, 0x6c, 0x53, 0xe1, 0xf2, 0x33, 0x8f, 0x32,
+ 0xa5, 0x43, 0xad, 0x4f, 0x61, 0x9c, 0xf2, 0x96, 0x86, 0xae, 0xc6, 0xd0, 0xf0, 0x57, 0xab, 0xd7,
+ 0xc1, 0xd4, 0x13, 0xea, 0x2c, 0xba, 0xdc, 0xf9, 0xb2, 0x08, 0x96, 0x9e, 0xca, 0x7a, 0xc8, 0x7e,
+ 0x1e, 0x99, 0x84, 0x1f, 0x0c, 0xb0, 0x74, 0xf4, 0x8a, 0x5a, 0x3d, 0x45, 0x4f, 0x82, 0x60, 0xc7,
+ 0xbc, 0x05, 0xb7, 0x50, 0x91, 0x67, 0x94, 0x83, 0x3e, 0xa3, 0x2f, 0x7b, 0x54, 0xaa, 0x92, 0x59,
+ 0xcc, 0xd0, 0x50, 0xf3, 0xce, 0x9b, 0x1f, 0xbf, 0xde, 0xfd, 0x87, 0xcc, 0xf5, 0x40, 0xf8, 0x6b,
+ 0x41, 0x7c, 0xca, 0xd4, 0x81, 0xf0, 0xf9, 0x29, 0xb5, 0x94, 0xc4, 0xe5, 0xf3, 0xc8, 0xcc, 0x31,
+ 0x6f, 0xc9, 0x2a, 0x8d, 0xb2, 0x54, 0x8d, 0x32, 0x7c, 0x6b, 0x80, 0x4b, 0x0f, 0xa9, 0x4a, 0xb4,
+ 0x6d, 0x14, 0x67, 0x4a, 0xc1, 0xe6, 0xd1, 0xb5, 0x35, 0xac, 0xfd, 0xcf, 0x88, 0x47, 0x43, 0x79,
+ 0x37, 0xe1, 0x8d, 0x50, 0x5e, 0x70, 0x90, 0x12, 0x37, 0xd2, 0x86, 0xcb, 0xe7, 0xf0, 0xbd, 0x01,
+ 0x2e, 0xd7, 0x09, 0xb3, 0xa8, 0x9b, 0xc8, 0xc2, 0xc5, 0x89, 0xb2, 0xc8, 0x79, 0x94, 0x55, 0x42,
+ 0x49, 0x9b, 0xe6, 0xad, 0xa9, 0x92, 0xaa, 0x56, 0x98, 0x24, 0x78, 0xb0, 0x4f, 0x06, 0x58, 0x7c,
+ 0xe2, 0xc8, 0xe4, 0x29, 0x24, 0x44, 0xc5, 0xa9, 0x32, 0x40, 0x2d, 0x0d, 0xcf, 0x8c, 0x97, 0x82,
+ 0x33, 0x49, 0xcd, 0x9d, 0x61, 0x6d, 0x21, 0xaa, 0x67, 0xe6, 0x0d, 0x27, 0x95, 0x18, 0xfe, 0x34,
+ 0xc0, 0x6a, 0x3a, 0xda, 0x23, 0x26, 0x55, 0xe0, 0xa1, 0x41, 0x15, 0x71, 0x5c, 0x09, 0xf7, 0x67,
+ 0x13, 0x91, 0xa3, 0x69, 0x0b, 0x07, 0x7f, 0xc9, 0x8e, 0x0d, 0x35, 0xb2, 0x86, 0x76, 0x61, 0x65,
+ 0xbc, 0xa1, 0x4c, 0x0d, 0xb0, 0x93, 0xb3, 0xf0, 0xdb, 0x00, 0xcb, 0x75, 0x9f, 0x92, 0x78, 0x5c,
+ 0x1a, 0xc9, 0x5c, 0xc3, 0xbd, 0x09, 0xdd, 0x32, 0x8e, 0xa0, 0x6d, 0xad, 0x4f, 0x69, 0x9a, 0x11,
+ 0xc3, 0x14, 0xc3, 0xda, 0xed, 0x48, 0xef, 0x46, 0xfe, 0x6f, 0xe5, 0xc2, 0x41, 0xd3, 0x69, 0x87,
+ 0x3e, 0xf7, 0xe3, 0x4e, 0x2b, 0x2a, 0xdc, 0x28, 0xbc, 0xac, 0x5e, 0xc9, 0x07, 0x81, 0x9f, 0x0d,
+ 0x00, 0xf5, 0x08, 0xa6, 0xbc, 0x56, 0xa6, 0x0f, 0xec, 0x3f, 0x19, 0xbd, 0x9b, 0x1e, 0xdf, 0x32,
+ 0x9c, 0x30, 0x2b, 0x29, 0xf9, 0xc1, 0x14, 0x7f, 0x35, 0xc0, 0xd5, 0xa4, 0x19, 0x52, 0x77, 0x70,
+ 0x77, 0x86, 0xe6, 0x49, 0xe1, 0xb5, 0xe6, 0xbd, 0x79, 0x69, 0x71, 0xb3, 0xdd, 0xcb, 0x36, 0x9b,
+ 0xb6, 0x30, 0x43, 0x11, 0xe0, 0x47, 0x03, 0x2c, 0x37, 0xa8, 0x4b, 0xe7, 0xea, 0xb0, 0xb1, 0x04,
+ 0x6d, 0xe2, 0x9a, 0xe6, 0xe9, 0x05, 0x82, 0x8e, 0x82, 0x05, 0x92, 0x7b, 0xe5, 0xf2, 0xcc, 0xaf,
+ 0x5c, 0x7a, 0xfc, 0xad, 0xb6, 0x92, 0x64, 0x8f, 0x62, 0x13, 0xe1, 0x48, 0x64, 0x71, 0xef, 0x7b,
+ 0x0d, 0x75, 0x95, 0x12, 0xb2, 0x8a, 0xf1, 0x60, 0x30, 0xc8, 0x5d, 0x62, 0xd2, 0x53, 0xdd, 0x68,
+ 0xe3, 0x6d, 0x0a, 0x97, 0xa8, 0x0e, 0xf7, 0xbd, 0x43, 0x0e, 0xd6, 0x2c, 0xee, 0x15, 0x5a, 0x3b,
+ 0x5c, 0xd4, 0xdb, 0xed, 0x24, 0x50, 0xff, 0xe2, 0x41, 0x0c, 0xb4, 0xb9, 0x4b, 0x98, 0x8d, 0xb8,
+ 0x6f, 0x63, 0x9b, 0xb2, 0xd0, 0x19, 0x1e, 0x65, 0xbb, 0xb8, 0x56, 0xef, 0xeb, 0xef, 0xd6, 0x42,
+ 0x08, 0xae, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x0c, 0xe7, 0xe7, 0x49, 0x36, 0x08, 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
+
+// OsConfigServiceClient is the client API for OsConfigService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type OsConfigServiceClient interface {
+ // Patch VM instances by creating and running a patch job.
+ ExecutePatchJob(ctx context.Context, in *ExecutePatchJobRequest, opts ...grpc.CallOption) (*PatchJob, error)
+ // Get the patch job. This can be used to track the progress of an
+ // ongoing patch job or review the details of completed jobs.
+ GetPatchJob(ctx context.Context, in *GetPatchJobRequest, opts ...grpc.CallOption) (*PatchJob, error)
+ // Cancel a patch job. The patch job must be active. Canceled patch jobs
+ // cannot be restarted.
+ CancelPatchJob(ctx context.Context, in *CancelPatchJobRequest, opts ...grpc.CallOption) (*PatchJob, error)
+ // Get a list of patch jobs.
+ ListPatchJobs(ctx context.Context, in *ListPatchJobsRequest, opts ...grpc.CallOption) (*ListPatchJobsResponse, error)
+ // Get a list of instance details for a given patch job.
+ ListPatchJobInstanceDetails(ctx context.Context, in *ListPatchJobInstanceDetailsRequest, opts ...grpc.CallOption) (*ListPatchJobInstanceDetailsResponse, error)
+ // Create an OS Config patch deployment.
+ CreatePatchDeployment(ctx context.Context, in *CreatePatchDeploymentRequest, opts ...grpc.CallOption) (*PatchDeployment, error)
+ // Get an OS Config patch deployment.
+ GetPatchDeployment(ctx context.Context, in *GetPatchDeploymentRequest, opts ...grpc.CallOption) (*PatchDeployment, error)
+ // Get a page of OS Config patch deployments.
+ ListPatchDeployments(ctx context.Context, in *ListPatchDeploymentsRequest, opts ...grpc.CallOption) (*ListPatchDeploymentsResponse, error)
+ // Delete an OS Config patch deployment.
+ DeletePatchDeployment(ctx context.Context, in *DeletePatchDeploymentRequest, opts ...grpc.CallOption) (*empty.Empty, error)
+}
+
+type osConfigServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewOsConfigServiceClient(cc grpc.ClientConnInterface) OsConfigServiceClient {
+ return &osConfigServiceClient{cc}
+}
+
+func (c *osConfigServiceClient) ExecutePatchJob(ctx context.Context, in *ExecutePatchJobRequest, opts ...grpc.CallOption) (*PatchJob, error) {
+ out := new(PatchJob)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/ExecutePatchJob", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) GetPatchJob(ctx context.Context, in *GetPatchJobRequest, opts ...grpc.CallOption) (*PatchJob, error) {
+ out := new(PatchJob)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/GetPatchJob", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) CancelPatchJob(ctx context.Context, in *CancelPatchJobRequest, opts ...grpc.CallOption) (*PatchJob, error) {
+ out := new(PatchJob)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/CancelPatchJob", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) ListPatchJobs(ctx context.Context, in *ListPatchJobsRequest, opts ...grpc.CallOption) (*ListPatchJobsResponse, error) {
+ out := new(ListPatchJobsResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/ListPatchJobs", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) ListPatchJobInstanceDetails(ctx context.Context, in *ListPatchJobInstanceDetailsRequest, opts ...grpc.CallOption) (*ListPatchJobInstanceDetailsResponse, error) {
+ out := new(ListPatchJobInstanceDetailsResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/ListPatchJobInstanceDetails", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) CreatePatchDeployment(ctx context.Context, in *CreatePatchDeploymentRequest, opts ...grpc.CallOption) (*PatchDeployment, error) {
+ out := new(PatchDeployment)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/CreatePatchDeployment", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) GetPatchDeployment(ctx context.Context, in *GetPatchDeploymentRequest, opts ...grpc.CallOption) (*PatchDeployment, error) {
+ out := new(PatchDeployment)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/GetPatchDeployment", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) ListPatchDeployments(ctx context.Context, in *ListPatchDeploymentsRequest, opts ...grpc.CallOption) (*ListPatchDeploymentsResponse, error) {
+ out := new(ListPatchDeploymentsResponse)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/ListPatchDeployments", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *osConfigServiceClient) DeletePatchDeployment(ctx context.Context, in *DeletePatchDeploymentRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
+ out := new(empty.Empty)
+ err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1.OsConfigService/DeletePatchDeployment", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// OsConfigServiceServer is the server API for OsConfigService service.
+type OsConfigServiceServer interface {
+ // Patch VM instances by creating and running a patch job.
+ ExecutePatchJob(context.Context, *ExecutePatchJobRequest) (*PatchJob, error)
+ // Get the patch job. This can be used to track the progress of an
+ // ongoing patch job or review the details of completed jobs.
+ GetPatchJob(context.Context, *GetPatchJobRequest) (*PatchJob, error)
+ // Cancel a patch job. The patch job must be active. Canceled patch jobs
+ // cannot be restarted.
+ CancelPatchJob(context.Context, *CancelPatchJobRequest) (*PatchJob, error)
+ // Get a list of patch jobs.
+ ListPatchJobs(context.Context, *ListPatchJobsRequest) (*ListPatchJobsResponse, error)
+ // Get a list of instance details for a given patch job.
+ ListPatchJobInstanceDetails(context.Context, *ListPatchJobInstanceDetailsRequest) (*ListPatchJobInstanceDetailsResponse, error)
+ // Create an OS Config patch deployment.
+ CreatePatchDeployment(context.Context, *CreatePatchDeploymentRequest) (*PatchDeployment, error)
+ // Get an OS Config patch deployment.
+ GetPatchDeployment(context.Context, *GetPatchDeploymentRequest) (*PatchDeployment, error)
+ // Get a page of OS Config patch deployments.
+ ListPatchDeployments(context.Context, *ListPatchDeploymentsRequest) (*ListPatchDeploymentsResponse, error)
+ // Delete an OS Config patch deployment.
+ DeletePatchDeployment(context.Context, *DeletePatchDeploymentRequest) (*empty.Empty, error)
+}
+
+// UnimplementedOsConfigServiceServer can be embedded to have forward compatible implementations.
+type UnimplementedOsConfigServiceServer struct {
+}
+
+func (*UnimplementedOsConfigServiceServer) ExecutePatchJob(ctx context.Context, req *ExecutePatchJobRequest) (*PatchJob, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ExecutePatchJob not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) GetPatchJob(ctx context.Context, req *GetPatchJobRequest) (*PatchJob, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetPatchJob not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) CancelPatchJob(ctx context.Context, req *CancelPatchJobRequest) (*PatchJob, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CancelPatchJob not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) ListPatchJobs(ctx context.Context, req *ListPatchJobsRequest) (*ListPatchJobsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListPatchJobs not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) ListPatchJobInstanceDetails(ctx context.Context, req *ListPatchJobInstanceDetailsRequest) (*ListPatchJobInstanceDetailsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListPatchJobInstanceDetails not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) CreatePatchDeployment(ctx context.Context, req *CreatePatchDeploymentRequest) (*PatchDeployment, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreatePatchDeployment not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) GetPatchDeployment(ctx context.Context, req *GetPatchDeploymentRequest) (*PatchDeployment, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetPatchDeployment not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) ListPatchDeployments(ctx context.Context, req *ListPatchDeploymentsRequest) (*ListPatchDeploymentsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListPatchDeployments not implemented")
+}
+func (*UnimplementedOsConfigServiceServer) DeletePatchDeployment(ctx context.Context, req *DeletePatchDeploymentRequest) (*empty.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeletePatchDeployment not implemented")
+}
+
+func RegisterOsConfigServiceServer(s *grpc.Server, srv OsConfigServiceServer) {
+ s.RegisterService(&_OsConfigService_serviceDesc, srv)
+}
+
+func _OsConfigService_ExecutePatchJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ExecutePatchJobRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).ExecutePatchJob(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/ExecutePatchJob",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).ExecutePatchJob(ctx, req.(*ExecutePatchJobRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_GetPatchJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetPatchJobRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).GetPatchJob(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/GetPatchJob",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).GetPatchJob(ctx, req.(*GetPatchJobRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_CancelPatchJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CancelPatchJobRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).CancelPatchJob(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/CancelPatchJob",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).CancelPatchJob(ctx, req.(*CancelPatchJobRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_ListPatchJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListPatchJobsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).ListPatchJobs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/ListPatchJobs",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).ListPatchJobs(ctx, req.(*ListPatchJobsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_ListPatchJobInstanceDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListPatchJobInstanceDetailsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).ListPatchJobInstanceDetails(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/ListPatchJobInstanceDetails",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).ListPatchJobInstanceDetails(ctx, req.(*ListPatchJobInstanceDetailsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_CreatePatchDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreatePatchDeploymentRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).CreatePatchDeployment(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/CreatePatchDeployment",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).CreatePatchDeployment(ctx, req.(*CreatePatchDeploymentRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_GetPatchDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetPatchDeploymentRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).GetPatchDeployment(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/GetPatchDeployment",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).GetPatchDeployment(ctx, req.(*GetPatchDeploymentRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_ListPatchDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListPatchDeploymentsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).ListPatchDeployments(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/ListPatchDeployments",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).ListPatchDeployments(ctx, req.(*ListPatchDeploymentsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _OsConfigService_DeletePatchDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeletePatchDeploymentRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(OsConfigServiceServer).DeletePatchDeployment(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.cloud.osconfig.v1.OsConfigService/DeletePatchDeployment",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(OsConfigServiceServer).DeletePatchDeployment(ctx, req.(*DeletePatchDeploymentRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _OsConfigService_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "google.cloud.osconfig.v1.OsConfigService",
+ HandlerType: (*OsConfigServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ExecutePatchJob",
+ Handler: _OsConfigService_ExecutePatchJob_Handler,
+ },
+ {
+ MethodName: "GetPatchJob",
+ Handler: _OsConfigService_GetPatchJob_Handler,
+ },
+ {
+ MethodName: "CancelPatchJob",
+ Handler: _OsConfigService_CancelPatchJob_Handler,
+ },
+ {
+ MethodName: "ListPatchJobs",
+ Handler: _OsConfigService_ListPatchJobs_Handler,
+ },
+ {
+ MethodName: "ListPatchJobInstanceDetails",
+ Handler: _OsConfigService_ListPatchJobInstanceDetails_Handler,
+ },
+ {
+ MethodName: "CreatePatchDeployment",
+ Handler: _OsConfigService_CreatePatchDeployment_Handler,
+ },
+ {
+ MethodName: "GetPatchDeployment",
+ Handler: _OsConfigService_GetPatchDeployment_Handler,
+ },
+ {
+ MethodName: "ListPatchDeployments",
+ Handler: _OsConfigService_ListPatchDeployments_Handler,
+ },
+ {
+ MethodName: "DeletePatchDeployment",
+ Handler: _OsConfigService_DeletePatchDeployment_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/cloud/osconfig/v1/osconfig_service.proto",
+}
diff --git a/googleapis/cloud/osconfig/v1/patch_deployments.pb.go b/googleapis/cloud/osconfig/v1/patch_deployments.pb.go
new file mode 100644
index 0000000..2f3a898
--- /dev/null
+++ b/googleapis/cloud/osconfig/v1/patch_deployments.pb.go
@@ -0,0 +1,956 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/osconfig/v1/patch_deployments.proto
+
+package osconfig
+
+import (
+ fmt "fmt"
+ math "math"
+
+ proto "github.com/golang/protobuf/proto"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
+ _ "google.golang.org/genproto/googleapis/api/annotations"
+ datetime "google.golang.org/genproto/googleapis/type/datetime"
+ dayofweek "google.golang.org/genproto/googleapis/type/dayofweek"
+ timeofday "google.golang.org/genproto/googleapis/type/timeofday"
+)
+
+// 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
+
+// Specifies the frequency of the recurring patch deployments.
+type RecurringSchedule_Frequency int32
+
+const (
+ // Invalid. A frequency must be specified.
+ RecurringSchedule_FREQUENCY_UNSPECIFIED RecurringSchedule_Frequency = 0
+ // Indicates that the frequency should be expressed in terms of
+ // weeks.
+ RecurringSchedule_WEEKLY RecurringSchedule_Frequency = 1
+ // Indicates that the frequency should be expressed in terms of
+ // months.
+ RecurringSchedule_MONTHLY RecurringSchedule_Frequency = 2
+)
+
+var RecurringSchedule_Frequency_name = map[int32]string{
+ 0: "FREQUENCY_UNSPECIFIED",
+ 1: "WEEKLY",
+ 2: "MONTHLY",
+}
+
+var RecurringSchedule_Frequency_value = map[string]int32{
+ "FREQUENCY_UNSPECIFIED": 0,
+ "WEEKLY": 1,
+ "MONTHLY": 2,
+}
+
+func (x RecurringSchedule_Frequency) String() string {
+ return proto.EnumName(RecurringSchedule_Frequency_name, int32(x))
+}
+
+func (RecurringSchedule_Frequency) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{2, 0}
+}
+
+// Patch deployments are configurations that individual patch jobs use to
+// complete a patch. These configurations include instance filter, package
+// repository settings, and a schedule. For more information about creating and
+// managing patch deployments, see [Scheduling patch
+// jobs](/compute/docs/os-patch-management/schedule-patch-jobs).
+type PatchDeployment struct {
+ // Unique name for the patch deployment resource in a project. The patch
+ // deployment name is in the form:
+ // `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
+ // This field is ignored when you create a new patch deployment.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Optional. Description of the patch deployment. Length of the description is limited
+ // to 1024 characters.
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+ // Required. VM instances to patch.
+ InstanceFilter *PatchInstanceFilter `protobuf:"bytes,3,opt,name=instance_filter,json=instanceFilter,proto3" json:"instance_filter,omitempty"`
+ // Optional. Patch configuration that is applied.
+ PatchConfig *PatchConfig `protobuf:"bytes,4,opt,name=patch_config,json=patchConfig,proto3" json:"patch_config,omitempty"`
+ // Optional. Duration of the patch. After the duration ends, the patch times out.
+ Duration *duration.Duration `protobuf:"bytes,5,opt,name=duration,proto3" json:"duration,omitempty"`
+ // Schedule for the patch.
+ //
+ // Types that are valid to be assigned to Schedule:
+ // *PatchDeployment_OneTimeSchedule
+ // *PatchDeployment_RecurringSchedule
+ Schedule isPatchDeployment_Schedule `protobuf_oneof:"schedule"`
+ // Output only. Time the patch deployment was created. Timestamp is in
+ // <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC3339</a>
+ // text format.
+ CreateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ // Output only. Time the patch deployment was last updated. Timestamp is in
+ // <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC3339</a>
+ // text format.
+ UpdateTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+ // Output only. The last time a patch job was started by this deployment.
+ // Timestamp is in
+ // <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC3339</a>
+ // text format.
+ LastExecuteTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=last_execute_time,json=lastExecuteTime,proto3" json:"last_execute_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchDeployment) Reset() { *m = PatchDeployment{} }
+func (m *PatchDeployment) String() string { return proto.CompactTextString(m) }
+func (*PatchDeployment) ProtoMessage() {}
+func (*PatchDeployment) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{0}
+}
+
+func (m *PatchDeployment) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchDeployment.Unmarshal(m, b)
+}
+func (m *PatchDeployment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchDeployment.Marshal(b, m, deterministic)
+}
+func (m *PatchDeployment) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchDeployment.Merge(m, src)
+}
+func (m *PatchDeployment) XXX_Size() int {
+ return xxx_messageInfo_PatchDeployment.Size(m)
+}
+func (m *PatchDeployment) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchDeployment.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchDeployment proto.InternalMessageInfo
+
+func (m *PatchDeployment) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *PatchDeployment) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *PatchDeployment) GetInstanceFilter() *PatchInstanceFilter {
+ if m != nil {
+ return m.InstanceFilter
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetPatchConfig() *PatchConfig {
+ if m != nil {
+ return m.PatchConfig
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetDuration() *duration.Duration {
+ if m != nil {
+ return m.Duration
+ }
+ return nil
+}
+
+type isPatchDeployment_Schedule interface {
+ isPatchDeployment_Schedule()
+}
+
+type PatchDeployment_OneTimeSchedule struct {
+ OneTimeSchedule *OneTimeSchedule `protobuf:"bytes,6,opt,name=one_time_schedule,json=oneTimeSchedule,proto3,oneof"`
+}
+
+type PatchDeployment_RecurringSchedule struct {
+ RecurringSchedule *RecurringSchedule `protobuf:"bytes,7,opt,name=recurring_schedule,json=recurringSchedule,proto3,oneof"`
+}
+
+func (*PatchDeployment_OneTimeSchedule) isPatchDeployment_Schedule() {}
+
+func (*PatchDeployment_RecurringSchedule) isPatchDeployment_Schedule() {}
+
+func (m *PatchDeployment) GetSchedule() isPatchDeployment_Schedule {
+ if m != nil {
+ return m.Schedule
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetOneTimeSchedule() *OneTimeSchedule {
+ if x, ok := m.GetSchedule().(*PatchDeployment_OneTimeSchedule); ok {
+ return x.OneTimeSchedule
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetRecurringSchedule() *RecurringSchedule {
+ if x, ok := m.GetSchedule().(*PatchDeployment_RecurringSchedule); ok {
+ return x.RecurringSchedule
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetCreateTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.CreateTime
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetUpdateTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.UpdateTime
+ }
+ return nil
+}
+
+func (m *PatchDeployment) GetLastExecuteTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.LastExecuteTime
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*PatchDeployment) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*PatchDeployment_OneTimeSchedule)(nil),
+ (*PatchDeployment_RecurringSchedule)(nil),
+ }
+}
+
+// Sets the time for a one time patch deployment. Timestamp is in
+// <a href="https://www.ietf.org/rfc/rfc3339.txt" target="_blank">RFC3339</a>
+// text format.
+type OneTimeSchedule struct {
+ // Required. The desired patch job execution time.
+ ExecuteTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=execute_time,json=executeTime,proto3" json:"execute_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *OneTimeSchedule) Reset() { *m = OneTimeSchedule{} }
+func (m *OneTimeSchedule) String() string { return proto.CompactTextString(m) }
+func (*OneTimeSchedule) ProtoMessage() {}
+func (*OneTimeSchedule) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{1}
+}
+
+func (m *OneTimeSchedule) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_OneTimeSchedule.Unmarshal(m, b)
+}
+func (m *OneTimeSchedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_OneTimeSchedule.Marshal(b, m, deterministic)
+}
+func (m *OneTimeSchedule) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_OneTimeSchedule.Merge(m, src)
+}
+func (m *OneTimeSchedule) XXX_Size() int {
+ return xxx_messageInfo_OneTimeSchedule.Size(m)
+}
+func (m *OneTimeSchedule) XXX_DiscardUnknown() {
+ xxx_messageInfo_OneTimeSchedule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_OneTimeSchedule proto.InternalMessageInfo
+
+func (m *OneTimeSchedule) GetExecuteTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.ExecuteTime
+ }
+ return nil
+}
+
+// Sets the time for recurring patch deployments.
+type RecurringSchedule struct {
+ // Required. Defines the time zone that `time_of_day` is relative to.
+ // The rules for daylight saving time are determined by the chosen time zone.
+ TimeZone *datetime.TimeZone `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
+ // Optional. The time that the recurring schedule becomes effective.
+ // Defaults to `create_time` of the patch deployment.
+ StartTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
+ // Optional. The end time at which a recurring patch deployment schedule is no longer
+ // active.
+ EndTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
+ // Required. Time of the day to run a recurring deployment.
+ TimeOfDay *timeofday.TimeOfDay `protobuf:"bytes,4,opt,name=time_of_day,json=timeOfDay,proto3" json:"time_of_day,omitempty"`
+ // Required. The frequency unit of this recurring schedule.
+ Frequency RecurringSchedule_Frequency `protobuf:"varint,5,opt,name=frequency,proto3,enum=google.cloud.osconfig.v1.RecurringSchedule_Frequency" json:"frequency,omitempty"`
+ // Configurations for this recurring schedule.
+ // Configurations must match frequency.
+ //
+ // Types that are valid to be assigned to ScheduleConfig:
+ // *RecurringSchedule_Weekly
+ // *RecurringSchedule_Monthly
+ ScheduleConfig isRecurringSchedule_ScheduleConfig `protobuf_oneof:"schedule_config"`
+ // Output only. The time the last patch job ran successfully.
+ LastExecuteTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_execute_time,json=lastExecuteTime,proto3" json:"last_execute_time,omitempty"`
+ // Output only. The time the next patch job is scheduled to run.
+ NextExecuteTime *timestamp.Timestamp `protobuf:"bytes,10,opt,name=next_execute_time,json=nextExecuteTime,proto3" json:"next_execute_time,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *RecurringSchedule) Reset() { *m = RecurringSchedule{} }
+func (m *RecurringSchedule) String() string { return proto.CompactTextString(m) }
+func (*RecurringSchedule) ProtoMessage() {}
+func (*RecurringSchedule) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{2}
+}
+
+func (m *RecurringSchedule) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_RecurringSchedule.Unmarshal(m, b)
+}
+func (m *RecurringSchedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_RecurringSchedule.Marshal(b, m, deterministic)
+}
+func (m *RecurringSchedule) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_RecurringSchedule.Merge(m, src)
+}
+func (m *RecurringSchedule) XXX_Size() int {
+ return xxx_messageInfo_RecurringSchedule.Size(m)
+}
+func (m *RecurringSchedule) XXX_DiscardUnknown() {
+ xxx_messageInfo_RecurringSchedule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_RecurringSchedule proto.InternalMessageInfo
+
+func (m *RecurringSchedule) GetTimeZone() *datetime.TimeZone {
+ if m != nil {
+ return m.TimeZone
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetStartTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.StartTime
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetEndTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.EndTime
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetTimeOfDay() *timeofday.TimeOfDay {
+ if m != nil {
+ return m.TimeOfDay
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetFrequency() RecurringSchedule_Frequency {
+ if m != nil {
+ return m.Frequency
+ }
+ return RecurringSchedule_FREQUENCY_UNSPECIFIED
+}
+
+type isRecurringSchedule_ScheduleConfig interface {
+ isRecurringSchedule_ScheduleConfig()
+}
+
+type RecurringSchedule_Weekly struct {
+ Weekly *WeeklySchedule `protobuf:"bytes,6,opt,name=weekly,proto3,oneof"`
+}
+
+type RecurringSchedule_Monthly struct {
+ Monthly *MonthlySchedule `protobuf:"bytes,7,opt,name=monthly,proto3,oneof"`
+}
+
+func (*RecurringSchedule_Weekly) isRecurringSchedule_ScheduleConfig() {}
+
+func (*RecurringSchedule_Monthly) isRecurringSchedule_ScheduleConfig() {}
+
+func (m *RecurringSchedule) GetScheduleConfig() isRecurringSchedule_ScheduleConfig {
+ if m != nil {
+ return m.ScheduleConfig
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetWeekly() *WeeklySchedule {
+ if x, ok := m.GetScheduleConfig().(*RecurringSchedule_Weekly); ok {
+ return x.Weekly
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetMonthly() *MonthlySchedule {
+ if x, ok := m.GetScheduleConfig().(*RecurringSchedule_Monthly); ok {
+ return x.Monthly
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetLastExecuteTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.LastExecuteTime
+ }
+ return nil
+}
+
+func (m *RecurringSchedule) GetNextExecuteTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.NextExecuteTime
+ }
+ return nil
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*RecurringSchedule) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*RecurringSchedule_Weekly)(nil),
+ (*RecurringSchedule_Monthly)(nil),
+ }
+}
+
+// Represents a weekly schedule.
+type WeeklySchedule struct {
+ // Required. Day of the week.
+ DayOfWeek dayofweek.DayOfWeek `protobuf:"varint,1,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.type.DayOfWeek" json:"day_of_week,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *WeeklySchedule) Reset() { *m = WeeklySchedule{} }
+func (m *WeeklySchedule) String() string { return proto.CompactTextString(m) }
+func (*WeeklySchedule) ProtoMessage() {}
+func (*WeeklySchedule) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{3}
+}
+
+func (m *WeeklySchedule) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_WeeklySchedule.Unmarshal(m, b)
+}
+func (m *WeeklySchedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_WeeklySchedule.Marshal(b, m, deterministic)
+}
+func (m *WeeklySchedule) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_WeeklySchedule.Merge(m, src)
+}
+func (m *WeeklySchedule) XXX_Size() int {
+ return xxx_messageInfo_WeeklySchedule.Size(m)
+}
+func (m *WeeklySchedule) XXX_DiscardUnknown() {
+ xxx_messageInfo_WeeklySchedule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_WeeklySchedule proto.InternalMessageInfo
+
+func (m *WeeklySchedule) GetDayOfWeek() dayofweek.DayOfWeek {
+ if m != nil {
+ return m.DayOfWeek
+ }
+ return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
+}
+
+// Represents a monthly schedule. An example of a valid monthly schedule is
+// "on the third Tuesday of the month" or "on the 15th of the month".
+type MonthlySchedule struct {
+ // One day in a month.
+ //
+ // Types that are valid to be assigned to DayOfMonth:
+ // *MonthlySchedule_WeekDayOfMonth
+ // *MonthlySchedule_MonthDay
+ DayOfMonth isMonthlySchedule_DayOfMonth `protobuf_oneof:"day_of_month"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *MonthlySchedule) Reset() { *m = MonthlySchedule{} }
+func (m *MonthlySchedule) String() string { return proto.CompactTextString(m) }
+func (*MonthlySchedule) ProtoMessage() {}
+func (*MonthlySchedule) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{4}
+}
+
+func (m *MonthlySchedule) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_MonthlySchedule.Unmarshal(m, b)
+}
+func (m *MonthlySchedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_MonthlySchedule.Marshal(b, m, deterministic)
+}
+func (m *MonthlySchedule) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_MonthlySchedule.Merge(m, src)
+}
+func (m *MonthlySchedule) XXX_Size() int {
+ return xxx_messageInfo_MonthlySchedule.Size(m)
+}
+func (m *MonthlySchedule) XXX_DiscardUnknown() {
+ xxx_messageInfo_MonthlySchedule.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_MonthlySchedule proto.InternalMessageInfo
+
+type isMonthlySchedule_DayOfMonth interface {
+ isMonthlySchedule_DayOfMonth()
+}
+
+type MonthlySchedule_WeekDayOfMonth struct {
+ WeekDayOfMonth *WeekDayOfMonth `protobuf:"bytes,1,opt,name=week_day_of_month,json=weekDayOfMonth,proto3,oneof"`
+}
+
+type MonthlySchedule_MonthDay struct {
+ MonthDay int32 `protobuf:"varint,2,opt,name=month_day,json=monthDay,proto3,oneof"`
+}
+
+func (*MonthlySchedule_WeekDayOfMonth) isMonthlySchedule_DayOfMonth() {}
+
+func (*MonthlySchedule_MonthDay) isMonthlySchedule_DayOfMonth() {}
+
+func (m *MonthlySchedule) GetDayOfMonth() isMonthlySchedule_DayOfMonth {
+ if m != nil {
+ return m.DayOfMonth
+ }
+ return nil
+}
+
+func (m *MonthlySchedule) GetWeekDayOfMonth() *WeekDayOfMonth {
+ if x, ok := m.GetDayOfMonth().(*MonthlySchedule_WeekDayOfMonth); ok {
+ return x.WeekDayOfMonth
+ }
+ return nil
+}
+
+func (m *MonthlySchedule) GetMonthDay() int32 {
+ if x, ok := m.GetDayOfMonth().(*MonthlySchedule_MonthDay); ok {
+ return x.MonthDay
+ }
+ return 0
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*MonthlySchedule) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*MonthlySchedule_WeekDayOfMonth)(nil),
+ (*MonthlySchedule_MonthDay)(nil),
+ }
+}
+
+// Represents one week day in a month. An example is "the 4th Sunday".
+type WeekDayOfMonth struct {
+ // Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1
+ // indicates the last week of the month.
+ WeekOrdinal int32 `protobuf:"varint,1,opt,name=week_ordinal,json=weekOrdinal,proto3" json:"week_ordinal,omitempty"`
+ // Required. A day of the week.
+ DayOfWeek dayofweek.DayOfWeek `protobuf:"varint,2,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.type.DayOfWeek" json:"day_of_week,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *WeekDayOfMonth) Reset() { *m = WeekDayOfMonth{} }
+func (m *WeekDayOfMonth) String() string { return proto.CompactTextString(m) }
+func (*WeekDayOfMonth) ProtoMessage() {}
+func (*WeekDayOfMonth) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{5}
+}
+
+func (m *WeekDayOfMonth) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_WeekDayOfMonth.Unmarshal(m, b)
+}
+func (m *WeekDayOfMonth) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_WeekDayOfMonth.Marshal(b, m, deterministic)
+}
+func (m *WeekDayOfMonth) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_WeekDayOfMonth.Merge(m, src)
+}
+func (m *WeekDayOfMonth) XXX_Size() int {
+ return xxx_messageInfo_WeekDayOfMonth.Size(m)
+}
+func (m *WeekDayOfMonth) XXX_DiscardUnknown() {
+ xxx_messageInfo_WeekDayOfMonth.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_WeekDayOfMonth proto.InternalMessageInfo
+
+func (m *WeekDayOfMonth) GetWeekOrdinal() int32 {
+ if m != nil {
+ return m.WeekOrdinal
+ }
+ return 0
+}
+
+func (m *WeekDayOfMonth) GetDayOfWeek() dayofweek.DayOfWeek {
+ if m != nil {
+ return m.DayOfWeek
+ }
+ return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
+}
+
+// A request message for creating a patch deployment.
+type CreatePatchDeploymentRequest struct {
+ // Required. The project to apply this patch deployment to in the form `projects/*`.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Required. A name for the patch deployment in the project. When creating a name
+ // the following rules apply:
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-63 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the project.
+ PatchDeploymentId string `protobuf:"bytes,2,opt,name=patch_deployment_id,json=patchDeploymentId,proto3" json:"patch_deployment_id,omitempty"`
+ // Required. The patch deployment to create.
+ PatchDeployment *PatchDeployment `protobuf:"bytes,3,opt,name=patch_deployment,json=patchDeployment,proto3" json:"patch_deployment,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *CreatePatchDeploymentRequest) Reset() { *m = CreatePatchDeploymentRequest{} }
+func (m *CreatePatchDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*CreatePatchDeploymentRequest) ProtoMessage() {}
+func (*CreatePatchDeploymentRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{6}
+}
+
+func (m *CreatePatchDeploymentRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_CreatePatchDeploymentRequest.Unmarshal(m, b)
+}
+func (m *CreatePatchDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_CreatePatchDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *CreatePatchDeploymentRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_CreatePatchDeploymentRequest.Merge(m, src)
+}
+func (m *CreatePatchDeploymentRequest) XXX_Size() int {
+ return xxx_messageInfo_CreatePatchDeploymentRequest.Size(m)
+}
+func (m *CreatePatchDeploymentRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_CreatePatchDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CreatePatchDeploymentRequest proto.InternalMessageInfo
+
+func (m *CreatePatchDeploymentRequest) GetParent() string {
+ if m != nil {
+ return m.Parent
+ }
+ return ""
+}
+
+func (m *CreatePatchDeploymentRequest) GetPatchDeploymentId() string {
+ if m != nil {
+ return m.PatchDeploymentId
+ }
+ return ""
+}
+
+func (m *CreatePatchDeploymentRequest) GetPatchDeployment() *PatchDeployment {
+ if m != nil {
+ return m.PatchDeployment
+ }
+ return nil
+}
+
+// A request message for retrieving a patch deployment.
+type GetPatchDeploymentRequest struct {
+ // Required. The resource name of the patch deployment in the form
+ // `projects/*/patchDeployments/*`.
+ 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 *GetPatchDeploymentRequest) Reset() { *m = GetPatchDeploymentRequest{} }
+func (m *GetPatchDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*GetPatchDeploymentRequest) ProtoMessage() {}
+func (*GetPatchDeploymentRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{7}
+}
+
+func (m *GetPatchDeploymentRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GetPatchDeploymentRequest.Unmarshal(m, b)
+}
+func (m *GetPatchDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GetPatchDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *GetPatchDeploymentRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GetPatchDeploymentRequest.Merge(m, src)
+}
+func (m *GetPatchDeploymentRequest) XXX_Size() int {
+ return xxx_messageInfo_GetPatchDeploymentRequest.Size(m)
+}
+func (m *GetPatchDeploymentRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_GetPatchDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetPatchDeploymentRequest proto.InternalMessageInfo
+
+func (m *GetPatchDeploymentRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+// A request message for listing patch deployments.
+type ListPatchDeploymentsRequest struct {
+ // Required. The resource name of the parent in the form `projects/*`.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Optional. The maximum number of patch deployments to return. Default is 100.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // Optional. A pagination token returned from a previous call to ListPatchDeployments
+ // that indicates where this listing should continue from.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ListPatchDeploymentsRequest) Reset() { *m = ListPatchDeploymentsRequest{} }
+func (m *ListPatchDeploymentsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListPatchDeploymentsRequest) ProtoMessage() {}
+func (*ListPatchDeploymentsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{8}
+}
+
+func (m *ListPatchDeploymentsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ListPatchDeploymentsRequest.Unmarshal(m, b)
+}
+func (m *ListPatchDeploymentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ListPatchDeploymentsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListPatchDeploymentsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ListPatchDeploymentsRequest.Merge(m, src)
+}
+func (m *ListPatchDeploymentsRequest) XXX_Size() int {
+ return xxx_messageInfo_ListPatchDeploymentsRequest.Size(m)
+}
+func (m *ListPatchDeploymentsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_ListPatchDeploymentsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListPatchDeploymentsRequest proto.InternalMessageInfo
+
+func (m *ListPatchDeploymentsRequest) GetParent() string {
+ if m != nil {
+ return m.Parent
+ }
+ return ""
+}
+
+func (m *ListPatchDeploymentsRequest) GetPageSize() int32 {
+ if m != nil {
+ return m.PageSize
+ }
+ return 0
+}
+
+func (m *ListPatchDeploymentsRequest) GetPageToken() string {
+ if m != nil {
+ return m.PageToken
+ }
+ return ""
+}
+
+// A response message for listing patch deployments.
+type ListPatchDeploymentsResponse struct {
+ // The list of patch deployments.
+ PatchDeployments []*PatchDeployment `protobuf:"bytes,1,rep,name=patch_deployments,json=patchDeployments,proto3" json:"patch_deployments,omitempty"`
+ // A pagination token that can be used to get the next page of patch
+ // deployments.
+ NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ListPatchDeploymentsResponse) Reset() { *m = ListPatchDeploymentsResponse{} }
+func (m *ListPatchDeploymentsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListPatchDeploymentsResponse) ProtoMessage() {}
+func (*ListPatchDeploymentsResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{9}
+}
+
+func (m *ListPatchDeploymentsResponse) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ListPatchDeploymentsResponse.Unmarshal(m, b)
+}
+func (m *ListPatchDeploymentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ListPatchDeploymentsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListPatchDeploymentsResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ListPatchDeploymentsResponse.Merge(m, src)
+}
+func (m *ListPatchDeploymentsResponse) XXX_Size() int {
+ return xxx_messageInfo_ListPatchDeploymentsResponse.Size(m)
+}
+func (m *ListPatchDeploymentsResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_ListPatchDeploymentsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListPatchDeploymentsResponse proto.InternalMessageInfo
+
+func (m *ListPatchDeploymentsResponse) GetPatchDeployments() []*PatchDeployment {
+ if m != nil {
+ return m.PatchDeployments
+ }
+ return nil
+}
+
+func (m *ListPatchDeploymentsResponse) GetNextPageToken() string {
+ if m != nil {
+ return m.NextPageToken
+ }
+ return ""
+}
+
+// A request message for deleting a patch deployment.
+type DeletePatchDeploymentRequest struct {
+ // Required. The resource name of the patch deployment in the form
+ // `projects/*/patchDeployments/*`.
+ 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 *DeletePatchDeploymentRequest) Reset() { *m = DeletePatchDeploymentRequest{} }
+func (m *DeletePatchDeploymentRequest) String() string { return proto.CompactTextString(m) }
+func (*DeletePatchDeploymentRequest) ProtoMessage() {}
+func (*DeletePatchDeploymentRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_4f5103e55cca9d31, []int{10}
+}
+
+func (m *DeletePatchDeploymentRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_DeletePatchDeploymentRequest.Unmarshal(m, b)
+}
+func (m *DeletePatchDeploymentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_DeletePatchDeploymentRequest.Marshal(b, m, deterministic)
+}
+func (m *DeletePatchDeploymentRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_DeletePatchDeploymentRequest.Merge(m, src)
+}
+func (m *DeletePatchDeploymentRequest) XXX_Size() int {
+ return xxx_messageInfo_DeletePatchDeploymentRequest.Size(m)
+}
+func (m *DeletePatchDeploymentRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_DeletePatchDeploymentRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_DeletePatchDeploymentRequest proto.InternalMessageInfo
+
+func (m *DeletePatchDeploymentRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func init() {
+ proto.RegisterEnum("google.cloud.osconfig.v1.RecurringSchedule_Frequency", RecurringSchedule_Frequency_name, RecurringSchedule_Frequency_value)
+ proto.RegisterType((*PatchDeployment)(nil), "google.cloud.osconfig.v1.PatchDeployment")
+ proto.RegisterType((*OneTimeSchedule)(nil), "google.cloud.osconfig.v1.OneTimeSchedule")
+ proto.RegisterType((*RecurringSchedule)(nil), "google.cloud.osconfig.v1.RecurringSchedule")
+ proto.RegisterType((*WeeklySchedule)(nil), "google.cloud.osconfig.v1.WeeklySchedule")
+ proto.RegisterType((*MonthlySchedule)(nil), "google.cloud.osconfig.v1.MonthlySchedule")
+ proto.RegisterType((*WeekDayOfMonth)(nil), "google.cloud.osconfig.v1.WeekDayOfMonth")
+ proto.RegisterType((*CreatePatchDeploymentRequest)(nil), "google.cloud.osconfig.v1.CreatePatchDeploymentRequest")
+ proto.RegisterType((*GetPatchDeploymentRequest)(nil), "google.cloud.osconfig.v1.GetPatchDeploymentRequest")
+ proto.RegisterType((*ListPatchDeploymentsRequest)(nil), "google.cloud.osconfig.v1.ListPatchDeploymentsRequest")
+ proto.RegisterType((*ListPatchDeploymentsResponse)(nil), "google.cloud.osconfig.v1.ListPatchDeploymentsResponse")
+ proto.RegisterType((*DeletePatchDeploymentRequest)(nil), "google.cloud.osconfig.v1.DeletePatchDeploymentRequest")
+}
+
+func init() {
+ proto.RegisterFile("google/cloud/osconfig/v1/patch_deployments.proto", fileDescriptor_4f5103e55cca9d31)
+}
+
+var fileDescriptor_4f5103e55cca9d31 = []byte{
+ // 1150 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xeb, 0x6e, 0x1b, 0x45,
+ 0x14, 0xee, 0x3a, 0x8d, 0x63, 0x1f, 0x07, 0x5f, 0x06, 0x15, 0x39, 0x69, 0x44, 0xa3, 0x95, 0x5a,
+ 0x1a, 0x55, 0xf5, 0xd2, 0x46, 0x80, 0x94, 0x4a, 0xd0, 0x38, 0x76, 0xda, 0x90, 0x8b, 0xc3, 0x26,
+ 0xa1, 0x24, 0x20, 0x2d, 0x93, 0xdd, 0xb1, 0xb3, 0xed, 0x7a, 0x66, 0xd9, 0x5d, 0xa7, 0xdd, 0xa0,
+ 0xbe, 0x0a, 0x12, 0x6f, 0xc0, 0x4f, 0x1e, 0xa7, 0xe2, 0x27, 0x8f, 0x00, 0x7f, 0xd0, 0x5c, 0xd6,
+ 0x97, 0x75, 0x4c, 0x9c, 0x0a, 0xfe, 0x79, 0xce, 0x39, 0xdf, 0x37, 0xe7, 0xbe, 0x63, 0xf8, 0xb4,
+ 0xc3, 0x58, 0xc7, 0x23, 0x86, 0xed, 0xb1, 0x9e, 0x63, 0xb0, 0xd0, 0x66, 0xb4, 0xed, 0x76, 0x8c,
+ 0xf3, 0x47, 0x86, 0x8f, 0x23, 0xfb, 0xcc, 0x72, 0x88, 0xef, 0xb1, 0xb8, 0x4b, 0x68, 0x14, 0xd6,
+ 0xfc, 0x80, 0x45, 0x0c, 0x55, 0x25, 0xa2, 0x26, 0x10, 0xb5, 0x04, 0x51, 0x3b, 0x7f, 0xb4, 0x78,
+ 0x47, 0x71, 0x61, 0xdf, 0x35, 0xda, 0x2e, 0xf1, 0x1c, 0xeb, 0x94, 0x9c, 0xe1, 0x73, 0x97, 0x05,
+ 0x12, 0xba, 0xb8, 0x30, 0x64, 0x10, 0x90, 0x90, 0xf5, 0x02, 0x9b, 0x28, 0xd5, 0xca, 0x15, 0x7e,
+ 0xbc, 0x64, 0xa7, 0xca, 0x81, 0xc5, 0x8f, 0x95, 0xa9, 0x38, 0x9d, 0xf6, 0xda, 0x86, 0xd3, 0x0b,
+ 0x70, 0xe4, 0x32, 0xaa, 0xf4, 0x77, 0xd2, 0xfa, 0xc8, 0xed, 0x92, 0x30, 0xc2, 0x5d, 0x5f, 0x19,
+ 0x2c, 0x2a, 0x83, 0x28, 0xf6, 0x89, 0xe1, 0xe0, 0x88, 0x70, 0x03, 0xa5, 0xbb, 0x3d, 0xaa, 0x8b,
+ 0x59, 0xfb, 0x35, 0x21, 0xaf, 0x2e, 0x53, 0x72, 0x10, 0x6b, 0x3b, 0x38, 0x96, 0x4a, 0xfd, 0xf7,
+ 0x2c, 0x94, 0xf6, 0xb9, 0xaf, 0x8d, 0x7e, 0xca, 0x10, 0x82, 0x9b, 0x14, 0x77, 0x49, 0x55, 0x5b,
+ 0xd6, 0xee, 0xe7, 0x4d, 0xf1, 0x1b, 0xdd, 0x85, 0x82, 0x43, 0x42, 0x3b, 0x70, 0x7d, 0xee, 0x73,
+ 0x35, 0xc3, 0x55, 0xf5, 0x99, 0x77, 0xeb, 0x9a, 0x39, 0x2c, 0x47, 0xdf, 0x43, 0xc9, 0xa5, 0x61,
+ 0x84, 0xa9, 0x4d, 0xac, 0xb6, 0xeb, 0x45, 0x24, 0xa8, 0xce, 0x2c, 0x6b, 0xf7, 0x0b, 0x8f, 0x1f,
+ 0xd6, 0x26, 0x15, 0xa0, 0x26, 0xae, 0xdf, 0x52, 0xa8, 0x4d, 0x01, 0xe2, 0xcc, 0x19, 0xb3, 0xe8,
+ 0x8e, 0x08, 0xd1, 0x2e, 0xcc, 0xcb, 0xb4, 0x4a, 0x6c, 0xf5, 0xa6, 0x60, 0xbe, 0x7b, 0x05, 0xf3,
+ 0x86, 0x38, 0x2a, 0x5f, 0xfd, 0x81, 0x04, 0xad, 0x41, 0x2e, 0xa9, 0x41, 0x75, 0x56, 0x50, 0x2d,
+ 0x24, 0x54, 0x49, 0x11, 0x6a, 0x0d, 0x65, 0x20, 0xe1, 0x7d, 0x7b, 0xf4, 0x03, 0x54, 0x18, 0x25,
+ 0x16, 0xcf, 0xa6, 0x15, 0xda, 0x67, 0xc4, 0xe9, 0x79, 0xa4, 0x9a, 0x15, 0x24, 0x2b, 0x93, 0xfd,
+ 0x69, 0x51, 0x72, 0xe8, 0x76, 0xc9, 0x81, 0x02, 0x88, 0x28, 0x9f, 0xdf, 0x30, 0x4b, 0x6c, 0x54,
+ 0x8e, 0x30, 0xa0, 0x80, 0xd8, 0xbd, 0x20, 0x70, 0x69, 0x67, 0x40, 0x3f, 0x27, 0xe8, 0x1f, 0x4c,
+ 0xa6, 0x37, 0x13, 0x4c, 0xfa, 0x82, 0x4a, 0x90, 0xd6, 0xa0, 0xa7, 0x50, 0xb0, 0x03, 0x82, 0x23,
+ 0x19, 0x43, 0x35, 0x27, 0xb8, 0x17, 0xc7, 0xe2, 0x3f, 0x4c, 0x9a, 0x90, 0x53, 0xcd, 0x98, 0x20,
+ 0x31, 0x5c, 0xca, 0x19, 0x7a, 0xbe, 0xd3, 0x67, 0xc8, 0x4f, 0xc9, 0x20, 0x31, 0x82, 0x61, 0x1b,
+ 0x2a, 0x1e, 0x0e, 0x23, 0x8b, 0xbc, 0x21, 0x76, 0x2f, 0xe1, 0x81, 0xe9, 0x78, 0x4a, 0x1c, 0xd9,
+ 0x94, 0x40, 0xae, 0x5a, 0x73, 0xfe, 0x5c, 0xc7, 0xf0, 0x49, 0x3f, 0x1d, 0x12, 0x8e, 0x7d, 0x37,
+ 0xac, 0xd9, 0xac, 0x6b, 0xa4, 0x5b, 0xfc, 0x73, 0x3f, 0x60, 0x2f, 0x89, 0x1d, 0x85, 0xc6, 0xcf,
+ 0xea, 0xd7, 0x5b, 0x39, 0xb2, 0x03, 0x1b, 0xae, 0x4a, 0x2d, 0x93, 0xb7, 0x75, 0x80, 0x5c, 0x52,
+ 0x0f, 0xfd, 0x08, 0x4a, 0xa9, 0x82, 0xa2, 0x3a, 0xcc, 0x8f, 0x04, 0xa3, 0x4d, 0x13, 0x4c, 0xc6,
+ 0x2c, 0x90, 0x41, 0x20, 0xfa, 0x1f, 0xb3, 0x50, 0x19, 0xab, 0x24, 0xfa, 0x02, 0xf2, 0xa2, 0xd9,
+ 0x2e, 0x18, 0x4d, 0x68, 0x6f, 0x25, 0xb4, 0x7c, 0xb0, 0x05, 0xe5, 0x09, 0xa3, 0xb2, 0xe6, 0x66,
+ 0x2e, 0x52, 0x47, 0xf4, 0x25, 0x40, 0x18, 0xe1, 0x20, 0x92, 0x0e, 0x65, 0xa6, 0x71, 0x48, 0x33,
+ 0xf3, 0x02, 0x22, 0x8a, 0xb4, 0x06, 0x39, 0x42, 0x1d, 0x89, 0x9e, 0x99, 0x0e, 0x3d, 0x47, 0xa8,
+ 0x23, 0xb0, 0x4f, 0xa0, 0x20, 0x9c, 0x66, 0x6d, 0xcb, 0xc1, 0xb1, 0x9a, 0xd7, 0x8f, 0xc6, 0xdc,
+ 0x6e, 0xb5, 0x1b, 0x38, 0x96, 0x7e, 0x8b, 0x20, 0xc5, 0x19, 0x7d, 0x07, 0xf9, 0x76, 0x40, 0x7e,
+ 0xea, 0x11, 0x6a, 0xc7, 0x62, 0x3e, 0x8b, 0x8f, 0x3f, 0xbb, 0x46, 0xef, 0xd7, 0x36, 0x13, 0xb0,
+ 0x62, 0xee, 0x93, 0xa1, 0x67, 0x90, 0xe5, 0xeb, 0xd1, 0x8b, 0xd5, 0xc4, 0xde, 0x9f, 0x4c, 0xfb,
+ 0x42, 0xd8, 0xa5, 0xe7, 0x49, 0xc1, 0xd1, 0xd7, 0x30, 0xd7, 0x65, 0x34, 0x3a, 0xf3, 0x62, 0x35,
+ 0x9c, 0xff, 0x32, 0xfb, 0xbb, 0xd2, 0x30, 0x4d, 0x95, 0x10, 0x5c, 0x3e, 0x0c, 0xf9, 0xf7, 0x1b,
+ 0x06, 0x4e, 0x46, 0xc9, 0x9b, 0xf7, 0x9c, 0x2c, 0x8e, 0x1c, 0x22, 0xd3, 0xbf, 0x82, 0x7c, 0x3f,
+ 0x97, 0x68, 0x01, 0x6e, 0x6d, 0x9a, 0xcd, 0x6f, 0x8e, 0x9a, 0x7b, 0x1b, 0xc7, 0xd6, 0xd1, 0xde,
+ 0xc1, 0x7e, 0x73, 0x63, 0x6b, 0x73, 0xab, 0xd9, 0x28, 0xdf, 0x40, 0x00, 0xd9, 0x17, 0xcd, 0xe6,
+ 0xf6, 0xce, 0x71, 0x59, 0x43, 0x05, 0x98, 0xdb, 0x6d, 0xed, 0x1d, 0x3e, 0xdf, 0x39, 0x2e, 0x67,
+ 0xea, 0x15, 0x28, 0x25, 0x43, 0xa3, 0x56, 0xb7, 0xbe, 0x0b, 0xc5, 0xd1, 0xd4, 0xf2, 0x5e, 0x71,
+ 0x70, 0xcc, 0x5b, 0x85, 0x27, 0x57, 0xb4, 0x78, 0x31, 0xd5, 0x2b, 0x0d, 0x1c, 0xb7, 0xda, 0x1c,
+ 0xa6, 0x2a, 0xea, 0x24, 0x67, 0xfd, 0x57, 0x0d, 0x4a, 0xa9, 0x04, 0xa3, 0x13, 0xa8, 0x70, 0x26,
+ 0x4b, 0xb1, 0x8a, 0x3c, 0xab, 0xc9, 0xb9, 0xa2, 0xe0, 0xe2, 0x1e, 0x41, 0x97, 0x54, 0xa9, 0xf8,
+ 0x7a, 0x44, 0x8c, 0x74, 0xc8, 0x0b, 0x3e, 0xd1, 0xd6, 0x7c, 0xa6, 0x66, 0x13, 0xcb, 0x9c, 0x90,
+ 0xf3, 0x7e, 0x2e, 0xc2, 0xfc, 0xf0, 0xd5, 0x7a, 0x4f, 0x86, 0x3c, 0xc4, 0x72, 0x0f, 0xe6, 0x85,
+ 0x87, 0x2c, 0x70, 0x5c, 0x8a, 0x3d, 0xe1, 0xdc, 0xac, 0xda, 0x08, 0x5c, 0xd1, 0x92, 0xf2, 0x74,
+ 0x6a, 0x32, 0xd7, 0x4a, 0xcd, 0xdf, 0x1a, 0x2c, 0x6d, 0x88, 0xad, 0x9d, 0xda, 0x81, 0x26, 0x2f,
+ 0x69, 0x18, 0xa1, 0x6d, 0xc8, 0xfa, 0x38, 0x20, 0x34, 0x92, 0xdf, 0xfb, 0xfa, 0xea, 0xbb, 0xf5,
+ 0xcc, 0x5f, 0xeb, 0x0f, 0xe1, 0x81, 0x48, 0x4e, 0xf2, 0xe0, 0xe9, 0x62, 0x8a, 0x3b, 0x24, 0x18,
+ 0xdb, 0xab, 0x72, 0x79, 0x9a, 0x8a, 0x02, 0xad, 0xc2, 0x87, 0xe9, 0xa5, 0x69, 0xb9, 0xce, 0xe0,
+ 0xb9, 0x90, 0x31, 0x2b, 0xa9, 0x35, 0xbb, 0xe5, 0xa0, 0x63, 0x28, 0xa7, 0x41, 0x6a, 0xd5, 0xac,
+ 0x5c, 0xf1, 0x6d, 0x1f, 0xd0, 0x48, 0xf2, 0x52, 0x8a, 0x5c, 0xff, 0x11, 0x16, 0x9e, 0x91, 0x68,
+ 0x42, 0xe4, 0x1b, 0xc3, 0xef, 0x9c, 0xba, 0x21, 0xe2, 0x5e, 0x99, 0xfa, 0x1b, 0x22, 0x1f, 0x46,
+ 0xfa, 0x6f, 0x1a, 0xdc, 0xde, 0x71, 0xc3, 0xf4, 0x1d, 0xe1, 0xff, 0x92, 0xde, 0x65, 0xc8, 0xfb,
+ 0xb8, 0x43, 0xac, 0xd0, 0xbd, 0x20, 0x83, 0xbe, 0xd3, 0xcc, 0x1c, 0x97, 0x1e, 0xb8, 0x17, 0x04,
+ 0xe9, 0x00, 0xc2, 0x22, 0x62, 0xaf, 0x08, 0x15, 0x59, 0x54, 0xcf, 0x34, 0x01, 0x3c, 0xe4, 0x52,
+ 0xfd, 0x17, 0x0d, 0x96, 0x2e, 0x77, 0x39, 0xf4, 0x19, 0x0d, 0x09, 0xfa, 0x16, 0x2a, 0x63, 0xef,
+ 0xe8, 0xaa, 0xb6, 0x3c, 0x73, 0xad, 0x8a, 0x98, 0xe5, 0xf4, 0x07, 0x15, 0xdd, 0x03, 0xb1, 0x5c,
+ 0xac, 0x21, 0x0f, 0x45, 0x67, 0x98, 0x1f, 0x70, 0xf1, 0x7e, 0xdf, 0x41, 0x1b, 0x96, 0x1a, 0xc4,
+ 0x23, 0x13, 0x5b, 0xf6, 0xbf, 0x28, 0x5c, 0x3d, 0x80, 0x25, 0x9b, 0x75, 0x27, 0x86, 0x53, 0x2f,
+ 0xa7, 0xd3, 0x73, 0xf2, 0x54, 0xd9, 0x76, 0x98, 0x87, 0x69, 0xa7, 0xc6, 0x82, 0x8e, 0xd1, 0x21,
+ 0x54, 0xec, 0x51, 0x63, 0x70, 0xe5, 0xf8, 0x9f, 0x81, 0x27, 0xc9, 0xef, 0xd3, 0xac, 0x30, 0x5e,
+ 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x6d, 0xba, 0x7f, 0xaa, 0xc0, 0x0c, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/osconfig/v1/patch_jobs.pb.go b/googleapis/cloud/osconfig/v1/patch_jobs.pb.go
new file mode 100644
index 0000000..3c6a23c
--- /dev/null
+++ b/googleapis/cloud/osconfig/v1/patch_jobs.pb.go
@@ -0,0 +1,2213 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: google/cloud/osconfig/v1/patch_jobs.proto
+
+package osconfig
+
+import (
+ fmt "fmt"
+ math "math"
+
+ proto "github.com/golang/protobuf/proto"
+ duration "github.com/golang/protobuf/ptypes/duration"
+ 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
+
+// Enumeration of the various states a patch job passes through as it
+// executes.
+type PatchJob_State int32
+
+const (
+ // State must be specified.
+ PatchJob_STATE_UNSPECIFIED PatchJob_State = 0
+ // The patch job was successfully initiated.
+ PatchJob_STARTED PatchJob_State = 1
+ // The patch job is looking up instances to run the patch on.
+ PatchJob_INSTANCE_LOOKUP PatchJob_State = 2
+ // Instances are being patched.
+ PatchJob_PATCHING PatchJob_State = 3
+ // Patch job completed successfully.
+ PatchJob_SUCCEEDED PatchJob_State = 4
+ // Patch job completed but there were errors.
+ PatchJob_COMPLETED_WITH_ERRORS PatchJob_State = 5
+ // The patch job was canceled.
+ PatchJob_CANCELED PatchJob_State = 6
+ // The patch job timed out.
+ PatchJob_TIMED_OUT PatchJob_State = 7
+)
+
+var PatchJob_State_name = map[int32]string{
+ 0: "STATE_UNSPECIFIED",
+ 1: "STARTED",
+ 2: "INSTANCE_LOOKUP",
+ 3: "PATCHING",
+ 4: "SUCCEEDED",
+ 5: "COMPLETED_WITH_ERRORS",
+ 6: "CANCELED",
+ 7: "TIMED_OUT",
+}
+
+var PatchJob_State_value = map[string]int32{
+ "STATE_UNSPECIFIED": 0,
+ "STARTED": 1,
+ "INSTANCE_LOOKUP": 2,
+ "PATCHING": 3,
+ "SUCCEEDED": 4,
+ "COMPLETED_WITH_ERRORS": 5,
+ "CANCELED": 6,
+ "TIMED_OUT": 7,
+}
+
+func (x PatchJob_State) String() string {
+ return proto.EnumName(PatchJob_State_name, int32(x))
+}
+
+func (PatchJob_State) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{7, 0}
+}
+
+// Post-patch reboot settings.
+type PatchConfig_RebootConfig int32
+
+const (
+ // The default behavior is DEFAULT.
+ PatchConfig_REBOOT_CONFIG_UNSPECIFIED PatchConfig_RebootConfig = 0
+ // The agent decides if a reboot is necessary by checking signals such as
+ // registry keys on Windows or `/var/run/reboot-required` on APT based
+ // systems. On RPM based systems, a set of core system package install times
+ // are compared with system boot time.
+ PatchConfig_DEFAULT PatchConfig_RebootConfig = 1
+ // Always reboot the machine after the update completes.
+ PatchConfig_ALWAYS PatchConfig_RebootConfig = 2
+ // Never reboot the machine after the update completes.
+ PatchConfig_NEVER PatchConfig_RebootConfig = 3
+)
+
+var PatchConfig_RebootConfig_name = map[int32]string{
+ 0: "REBOOT_CONFIG_UNSPECIFIED",
+ 1: "DEFAULT",
+ 2: "ALWAYS",
+ 3: "NEVER",
+}
+
+var PatchConfig_RebootConfig_value = map[string]int32{
+ "REBOOT_CONFIG_UNSPECIFIED": 0,
+ "DEFAULT": 1,
+ "ALWAYS": 2,
+ "NEVER": 3,
+}
+
+func (x PatchConfig_RebootConfig) String() string {
+ return proto.EnumName(PatchConfig_RebootConfig_name, int32(x))
+}
+
+func (PatchConfig_RebootConfig) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{8, 0}
+}
+
+// Patch state of an instance.
+type Instance_PatchState int32
+
+const (
+ // Unspecified.
+ Instance_PATCH_STATE_UNSPECIFIED Instance_PatchState = 0
+ // The instance is not yet notified.
+ Instance_PENDING Instance_PatchState = 1
+ // Instance is inactive and cannot be patched.
+ Instance_INACTIVE Instance_PatchState = 2
+ // The instance is notified that it should be patched.
+ Instance_NOTIFIED Instance_PatchState = 3
+ // The instance has started the patching process.
+ Instance_STARTED Instance_PatchState = 4
+ // The instance is downloading patches.
+ Instance_DOWNLOADING_PATCHES Instance_PatchState = 5
+ // The instance is applying patches.
+ Instance_APPLYING_PATCHES Instance_PatchState = 6
+ // The instance is rebooting.
+ Instance_REBOOTING Instance_PatchState = 7
+ // The instance has completed applying patches.
+ Instance_SUCCEEDED Instance_PatchState = 8
+ // The instance has completed applying patches but a reboot is required.
+ Instance_SUCCEEDED_REBOOT_REQUIRED Instance_PatchState = 9
+ // The instance has failed to apply the patch.
+ Instance_FAILED Instance_PatchState = 10
+ // The instance acked the notification and will start shortly.
+ Instance_ACKED Instance_PatchState = 11
+ // The instance exceeded the time out while applying the patch.
+ Instance_TIMED_OUT Instance_PatchState = 12
+ // The instance is running the pre-patch step.
+ Instance_RUNNING_PRE_PATCH_STEP Instance_PatchState = 13
+ // The instance is running the post-patch step.
+ Instance_RUNNING_POST_PATCH_STEP Instance_PatchState = 14
+ // The service could not detect the presence of the agent. Check to ensure
+ // that the agent is installed, running, and able to communicate with the
+ // service.
+ Instance_NO_AGENT_DETECTED Instance_PatchState = 15
+)
+
+var Instance_PatchState_name = map[int32]string{
+ 0: "PATCH_STATE_UNSPECIFIED",
+ 1: "PENDING",
+ 2: "INACTIVE",
+ 3: "NOTIFIED",
+ 4: "STARTED",
+ 5: "DOWNLOADING_PATCHES",
+ 6: "APPLYING_PATCHES",
+ 7: "REBOOTING",
+ 8: "SUCCEEDED",
+ 9: "SUCCEEDED_REBOOT_REQUIRED",
+ 10: "FAILED",
+ 11: "ACKED",
+ 12: "TIMED_OUT",
+ 13: "RUNNING_PRE_PATCH_STEP",
+ 14: "RUNNING_POST_PATCH_STEP",
+ 15: "NO_AGENT_DETECTED",
+}
+
+var Instance_PatchState_value = map[string]int32{
+ "PATCH_STATE_UNSPECIFIED": 0,
+ "PENDING": 1,
+ "INACTIVE": 2,
+ "NOTIFIED": 3,
+ "STARTED": 4,
+ "DOWNLOADING_PATCHES": 5,
+ "APPLYING_PATCHES": 6,
+ "REBOOTING": 7,
+ "SUCCEEDED": 8,
+ "SUCCEEDED_REBOOT_REQUIRED": 9,
+ "FAILED": 10,
+ "ACKED": 11,
+ "TIMED_OUT": 12,
+ "RUNNING_PRE_PATCH_STEP": 13,
+ "RUNNING_POST_PATCH_STEP": 14,
+ "NO_AGENT_DETECTED": 15,
+}
+
+func (x Instance_PatchState) String() string {
+ return proto.EnumName(Instance_PatchState_name, int32(x))
+}
+
+func (Instance_PatchState) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{9, 0}
+}
+
+// Apt patch type.
+type AptSettings_Type int32
+
+const (
+ // By default, upgrade will be performed.
+ AptSettings_TYPE_UNSPECIFIED AptSettings_Type = 0
+ // Runs `apt-get dist-upgrade`.
+ AptSettings_DIST AptSettings_Type = 1
+ // Runs `apt-get upgrade`.
+ AptSettings_UPGRADE AptSettings_Type = 2
+)
+
+var AptSettings_Type_name = map[int32]string{
+ 0: "TYPE_UNSPECIFIED",
+ 1: "DIST",
+ 2: "UPGRADE",
+}
+
+var AptSettings_Type_value = map[string]int32{
+ "TYPE_UNSPECIFIED": 0,
+ "DIST": 1,
+ "UPGRADE": 2,
+}
+
+func (x AptSettings_Type) String() string {
+ return proto.EnumName(AptSettings_Type_name, int32(x))
+}
+
+func (AptSettings_Type) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{11, 0}
+}
+
+// Microsoft Windows update classifications as defined in
+// [1]
+// https://support.microsoft.com/en-us/help/824684/description-of-the-standard-terminology-that-is-used-to-describe-micro
+type WindowsUpdateSettings_Classification int32
+
+const (
+ // Invalid. If classifications are included, they must be specified.
+ WindowsUpdateSettings_CLASSIFICATION_UNSPECIFIED WindowsUpdateSettings_Classification = 0
+ // "A widely released fix for a specific problem that addresses a critical,
+ // non-security-related bug." [1]
+ WindowsUpdateSettings_CRITICAL WindowsUpdateSettings_Classification = 1
+ // "A widely released fix for a product-specific, security-related
+ // vulnerability. Security vulnerabilities are rated by their severity. The
+ // severity rating is indicated in the Microsoft security bulletin as
+ // critical, important, moderate, or low." [1]
+ WindowsUpdateSettings_SECURITY WindowsUpdateSettings_Classification = 2
+ // "A widely released and frequent software update that contains additions
+ // to a product's definition database. Definition databases are often used
+ // to detect objects that have specific attributes, such as malicious code,
+ // phishing websites, or junk mail." [1]
+ WindowsUpdateSettings_DEFINITION WindowsUpdateSettings_Classification = 3
+ // "Software that controls the input and output of a device." [1]
+ WindowsUpdateSettings_DRIVER WindowsUpdateSettings_Classification = 4
+ // "New product functionality that is first distributed outside the context
+ // of a product release and that is typically included in the next full
+ // product release." [1]
+ WindowsUpdateSettings_FEATURE_PACK WindowsUpdateSettings_Classification = 5
+ // "A tested, cumulative set of all hotfixes, security updates, critical
+ // updates, and updates. Additionally, service packs may contain additional
+ // fixes for problems that are found internally since the release of the
+ // product. Service packs my also contain a limited number of
+ // customer-requested design changes or features." [1]
+ WindowsUpdateSettings_SERVICE_PACK WindowsUpdateSettings_Classification = 6
+ // "A utility or feature that helps complete a task or set of tasks." [1]
+ WindowsUpdateSettings_TOOL WindowsUpdateSettings_Classification = 7
+ // "A tested, cumulative set of hotfixes, security updates, critical
+ // updates, and updates that are packaged together for easy deployment. A
+ // rollup generally targets a specific area, such as security, or a
+ // component of a product, such as Internet Information Services (IIS)." [1]
+ WindowsUpdateSettings_UPDATE_ROLLUP WindowsUpdateSettings_Classification = 8
+ // "A widely released fix for a specific problem. An update addresses a
+ // noncritical, non-security-related bug." [1]
+ WindowsUpdateSettings_UPDATE WindowsUpdateSettings_Classification = 9
+)
+
+var WindowsUpdateSettings_Classification_name = map[int32]string{
+ 0: "CLASSIFICATION_UNSPECIFIED",
+ 1: "CRITICAL",
+ 2: "SECURITY",
+ 3: "DEFINITION",
+ 4: "DRIVER",
+ 5: "FEATURE_PACK",
+ 6: "SERVICE_PACK",
+ 7: "TOOL",
+ 8: "UPDATE_ROLLUP",
+ 9: "UPDATE",
+}
+
+var WindowsUpdateSettings_Classification_value = map[string]int32{
+ "CLASSIFICATION_UNSPECIFIED": 0,
+ "CRITICAL": 1,
+ "SECURITY": 2,
+ "DEFINITION": 3,
+ "DRIVER": 4,
+ "FEATURE_PACK": 5,
+ "SERVICE_PACK": 6,
+ "TOOL": 7,
+ "UPDATE_ROLLUP": 8,
+ "UPDATE": 9,
+}
+
+func (x WindowsUpdateSettings_Classification) String() string {
+ return proto.EnumName(WindowsUpdateSettings_Classification_name, int32(x))
+}
+
+func (WindowsUpdateSettings_Classification) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{15, 0}
+}
+
+// The interpreter used to execute the a file.
+type ExecStepConfig_Interpreter int32
+
+const (
+ // Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the
+ // interpreter will be parsed from the shebang line of the script if
+ // unspecified.
+ ExecStepConfig_INTERPRETER_UNSPECIFIED ExecStepConfig_Interpreter = 0
+ // Indicates that the script is run with `/bin/sh` on Linux and `cmd`
+ // on Windows.
+ ExecStepConfig_SHELL ExecStepConfig_Interpreter = 1
+ // Indicates that the file is run with PowerShell flags
+ // `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`.
+ ExecStepConfig_POWERSHELL ExecStepConfig_Interpreter = 2
+)
+
+var ExecStepConfig_Interpreter_name = map[int32]string{
+ 0: "INTERPRETER_UNSPECIFIED",
+ 1: "SHELL",
+ 2: "POWERSHELL",
+}
+
+var ExecStepConfig_Interpreter_value = map[string]int32{
+ "INTERPRETER_UNSPECIFIED": 0,
+ "SHELL": 1,
+ "POWERSHELL": 2,
+}
+
+func (x ExecStepConfig_Interpreter) String() string {
+ return proto.EnumName(ExecStepConfig_Interpreter_name, int32(x))
+}
+
+func (ExecStepConfig_Interpreter) EnumDescriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{17, 0}
+}
+
+// A request message to initiate patching across Google Compute Engine
+// instances.
+type ExecutePatchJobRequest struct {
+ // Required. The project in which to run this patch in the form `projects/*`
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Description of the patch job. Length of the description is limited
+ // to 1024 characters.
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+ // Required. Instances to patch, either explicitly or filtered by some criteria such
+ // as zone or labels.
+ InstanceFilter *PatchInstanceFilter `protobuf:"bytes,7,opt,name=instance_filter,json=instanceFilter,proto3" json:"instance_filter,omitempty"`
+ // Patch configuration being applied. If omitted, instances are
+ // patched using the default configurations.
+ PatchConfig *PatchConfig `protobuf:"bytes,4,opt,name=patch_config,json=patchConfig,proto3" json:"patch_config,omitempty"`
+ // Duration of the patch job. After the duration ends, the patch job
+ // times out.
+ Duration *duration.Duration `protobuf:"bytes,5,opt,name=duration,proto3" json:"duration,omitempty"`
+ // If this patch is a dry-run only, instances are contacted but
+ // will do nothing.
+ DryRun bool `protobuf:"varint,6,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
+ // Display name for this patch job. This does not have to be unique.
+ DisplayName string `protobuf:"bytes,8,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ExecutePatchJobRequest) Reset() { *m = ExecutePatchJobRequest{} }
+func (m *ExecutePatchJobRequest) String() string { return proto.CompactTextString(m) }
+func (*ExecutePatchJobRequest) ProtoMessage() {}
+func (*ExecutePatchJobRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{0}
+}
+
+func (m *ExecutePatchJobRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ExecutePatchJobRequest.Unmarshal(m, b)
+}
+func (m *ExecutePatchJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ExecutePatchJobRequest.Marshal(b, m, deterministic)
+}
+func (m *ExecutePatchJobRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ExecutePatchJobRequest.Merge(m, src)
+}
+func (m *ExecutePatchJobRequest) XXX_Size() int {
+ return xxx_messageInfo_ExecutePatchJobRequest.Size(m)
+}
+func (m *ExecutePatchJobRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_ExecutePatchJobRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ExecutePatchJobRequest proto.InternalMessageInfo
+
+func (m *ExecutePatchJobRequest) GetParent() string {
+ if m != nil {
+ return m.Parent
+ }
+ return ""
+}
+
+func (m *ExecutePatchJobRequest) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *ExecutePatchJobRequest) GetInstanceFilter() *PatchInstanceFilter {
+ if m != nil {
+ return m.InstanceFilter
+ }
+ return nil
+}
+
+func (m *ExecutePatchJobRequest) GetPatchConfig() *PatchConfig {
+ if m != nil {
+ return m.PatchConfig
+ }
+ return nil
+}
+
+func (m *ExecutePatchJobRequest) GetDuration() *duration.Duration {
+ if m != nil {
+ return m.Duration
+ }
+ return nil
+}
+
+func (m *ExecutePatchJobRequest) GetDryRun() bool {
+ if m != nil {
+ return m.DryRun
+ }
+ return false
+}
+
+func (m *ExecutePatchJobRequest) GetDisplayName() string {
+ if m != nil {
+ return m.DisplayName
+ }
+ return ""
+}
+
+// Request to get an active or completed patch job.
+type GetPatchJobRequest struct {
+ // Required. Name of the patch in the form `projects/*/patchJobs/*`
+ 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 *GetPatchJobRequest) Reset() { *m = GetPatchJobRequest{} }
+func (m *GetPatchJobRequest) String() string { return proto.CompactTextString(m) }
+func (*GetPatchJobRequest) ProtoMessage() {}
+func (*GetPatchJobRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{1}
+}
+
+func (m *GetPatchJobRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GetPatchJobRequest.Unmarshal(m, b)
+}
+func (m *GetPatchJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GetPatchJobRequest.Marshal(b, m, deterministic)
+}
+func (m *GetPatchJobRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GetPatchJobRequest.Merge(m, src)
+}
+func (m *GetPatchJobRequest) XXX_Size() int {
+ return xxx_messageInfo_GetPatchJobRequest.Size(m)
+}
+func (m *GetPatchJobRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_GetPatchJobRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GetPatchJobRequest proto.InternalMessageInfo
+
+func (m *GetPatchJobRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+// Request to list details for all instances that are part of a patch job.
+type ListPatchJobInstanceDetailsRequest struct {
+ // Required. The parent for the instances are in the form of `projects/*/patchJobs/*`.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // The maximum number of instance details records to return. Default is 100.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // A pagination token returned from a previous call
+ // that indicates where this listing should continue from.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+ // A filter expression that filters results listed in the response. This
+ // field supports filtering results by instance zone, name, state, or
+ // `failure_reason`.
+ Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ListPatchJobInstanceDetailsRequest) Reset() { *m = ListPatchJobInstanceDetailsRequest{} }
+func (m *ListPatchJobInstanceDetailsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListPatchJobInstanceDetailsRequest) ProtoMessage() {}
+func (*ListPatchJobInstanceDetailsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{2}
+}
+
+func (m *ListPatchJobInstanceDetailsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ListPatchJobInstanceDetailsRequest.Unmarshal(m, b)
+}
+func (m *ListPatchJobInstanceDetailsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ListPatchJobInstanceDetailsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListPatchJobInstanceDetailsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ListPatchJobInstanceDetailsRequest.Merge(m, src)
+}
+func (m *ListPatchJobInstanceDetailsRequest) XXX_Size() int {
+ return xxx_messageInfo_ListPatchJobInstanceDetailsRequest.Size(m)
+}
+func (m *ListPatchJobInstanceDetailsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_ListPatchJobInstanceDetailsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListPatchJobInstanceDetailsRequest proto.InternalMessageInfo
+
+func (m *ListPatchJobInstanceDetailsRequest) GetParent() string {
+ if m != nil {
+ return m.Parent
+ }
+ return ""
+}
+
+func (m *ListPatchJobInstanceDetailsRequest) GetPageSize() int32 {
+ if m != nil {
+ return m.PageSize
+ }
+ return 0
+}
+
+func (m *ListPatchJobInstanceDetailsRequest) GetPageToken() string {
+ if m != nil {
+ return m.PageToken
+ }
+ return ""
+}
+
+func (m *ListPatchJobInstanceDetailsRequest) GetFilter() string {
+ if m != nil {
+ return m.Filter
+ }
+ return ""
+}
+
+// A response message for listing the instances details for a patch job.
+type ListPatchJobInstanceDetailsResponse struct {
+ // A list of instance status.
+ PatchJobInstanceDetails []*PatchJobInstanceDetails `protobuf:"bytes,1,rep,name=patch_job_instance_details,json=patchJobInstanceDetails,proto3" json:"patch_job_instance_details,omitempty"`
+ // A pagination token that can be used to get the next page of results.
+ NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ListPatchJobInstanceDetailsResponse) Reset() { *m = ListPatchJobInstanceDetailsResponse{} }
+func (m *ListPatchJobInstanceDetailsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListPatchJobInstanceDetailsResponse) ProtoMessage() {}
+func (*ListPatchJobInstanceDetailsResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{3}
+}
+
+func (m *ListPatchJobInstanceDetailsResponse) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ListPatchJobInstanceDetailsResponse.Unmarshal(m, b)
+}
+func (m *ListPatchJobInstanceDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ListPatchJobInstanceDetailsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListPatchJobInstanceDetailsResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ListPatchJobInstanceDetailsResponse.Merge(m, src)
+}
+func (m *ListPatchJobInstanceDetailsResponse) XXX_Size() int {
+ return xxx_messageInfo_ListPatchJobInstanceDetailsResponse.Size(m)
+}
+func (m *ListPatchJobInstanceDetailsResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_ListPatchJobInstanceDetailsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListPatchJobInstanceDetailsResponse proto.InternalMessageInfo
+
+func (m *ListPatchJobInstanceDetailsResponse) GetPatchJobInstanceDetails() []*PatchJobInstanceDetails {
+ if m != nil {
+ return m.PatchJobInstanceDetails
+ }
+ return nil
+}
+
+func (m *ListPatchJobInstanceDetailsResponse) GetNextPageToken() string {
+ if m != nil {
+ return m.NextPageToken
+ }
+ return ""
+}
+
+// Patch details for a VM instance. For more information about reviewing VM
+// instance details, see
+// [Listing all VM instance details for a specific patch
+// job](/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).
+type PatchJobInstanceDetails struct {
+ // The instance name in the form `projects/*/zones/*/instances/*`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The unique identifier for the instance. This identifier is
+ // defined by the server.
+ InstanceSystemId string `protobuf:"bytes,2,opt,name=instance_system_id,json=instanceSystemId,proto3" json:"instance_system_id,omitempty"`
+ // Current state of instance patch.
+ State Instance_PatchState `protobuf:"varint,3,opt,name=state,proto3,enum=google.cloud.osconfig.v1.Instance_PatchState" json:"state,omitempty"`
+ // If the patch fails, this field provides the reason.
+ FailureReason string `protobuf:"bytes,4,opt,name=failure_reason,json=failureReason,proto3" json:"failure_reason,omitempty"`
+ // The number of times the agent that the agent attempts to apply the patch.
+ AttemptCount int64 `protobuf:"varint,5,opt,name=attempt_count,json=attemptCount,proto3" json:"attempt_count,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchJobInstanceDetails) Reset() { *m = PatchJobInstanceDetails{} }
+func (m *PatchJobInstanceDetails) String() string { return proto.CompactTextString(m) }
+func (*PatchJobInstanceDetails) ProtoMessage() {}
+func (*PatchJobInstanceDetails) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{4}
+}
+
+func (m *PatchJobInstanceDetails) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchJobInstanceDetails.Unmarshal(m, b)
+}
+func (m *PatchJobInstanceDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchJobInstanceDetails.Marshal(b, m, deterministic)
+}
+func (m *PatchJobInstanceDetails) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchJobInstanceDetails.Merge(m, src)
+}
+func (m *PatchJobInstanceDetails) XXX_Size() int {
+ return xxx_messageInfo_PatchJobInstanceDetails.Size(m)
+}
+func (m *PatchJobInstanceDetails) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchJobInstanceDetails.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchJobInstanceDetails proto.InternalMessageInfo
+
+func (m *PatchJobInstanceDetails) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *PatchJobInstanceDetails) GetInstanceSystemId() string {
+ if m != nil {
+ return m.InstanceSystemId
+ }
+ return ""
+}
+
+func (m *PatchJobInstanceDetails) GetState() Instance_PatchState {
+ if m != nil {
+ return m.State
+ }
+ return Instance_PATCH_STATE_UNSPECIFIED
+}
+
+func (m *PatchJobInstanceDetails) GetFailureReason() string {
+ if m != nil {
+ return m.FailureReason
+ }
+ return ""
+}
+
+func (m *PatchJobInstanceDetails) GetAttemptCount() int64 {
+ if m != nil {
+ return m.AttemptCount
+ }
+ return 0
+}
+
+// A request message for listing patch jobs.
+type ListPatchJobsRequest struct {
+ // Required. In the form of `projects/*`
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // The maximum number of instance status to return.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // A pagination token returned from a previous call
+ // that indicates where this listing should continue from.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+ // If provided, this field specifies the criteria that must be met by patch
+ // jobs to be included in the response.
+ // Currently, filtering is only available on the patch_deployment field.
+ Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ListPatchJobsRequest) Reset() { *m = ListPatchJobsRequest{} }
+func (m *ListPatchJobsRequest) String() string { return proto.CompactTextString(m) }
+func (*ListPatchJobsRequest) ProtoMessage() {}
+func (*ListPatchJobsRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{5}
+}
+
+func (m *ListPatchJobsRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ListPatchJobsRequest.Unmarshal(m, b)
+}
+func (m *ListPatchJobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ListPatchJobsRequest.Marshal(b, m, deterministic)
+}
+func (m *ListPatchJobsRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ListPatchJobsRequest.Merge(m, src)
+}
+func (m *ListPatchJobsRequest) XXX_Size() int {
+ return xxx_messageInfo_ListPatchJobsRequest.Size(m)
+}
+func (m *ListPatchJobsRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_ListPatchJobsRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListPatchJobsRequest proto.InternalMessageInfo
+
+func (m *ListPatchJobsRequest) GetParent() string {
+ if m != nil {
+ return m.Parent
+ }
+ return ""
+}
+
+func (m *ListPatchJobsRequest) GetPageSize() int32 {
+ if m != nil {
+ return m.PageSize
+ }
+ return 0
+}
+
+func (m *ListPatchJobsRequest) GetPageToken() string {
+ if m != nil {
+ return m.PageToken
+ }
+ return ""
+}
+
+func (m *ListPatchJobsRequest) GetFilter() string {
+ if m != nil {
+ return m.Filter
+ }
+ return ""
+}
+
+// A response message for listing patch jobs.
+type ListPatchJobsResponse struct {
+ // The list of patch jobs.
+ PatchJobs []*PatchJob `protobuf:"bytes,1,rep,name=patch_jobs,json=patchJobs,proto3" json:"patch_jobs,omitempty"`
+ // A pagination token that can be used to get the next page of results.
+ NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ListPatchJobsResponse) Reset() { *m = ListPatchJobsResponse{} }
+func (m *ListPatchJobsResponse) String() string { return proto.CompactTextString(m) }
+func (*ListPatchJobsResponse) ProtoMessage() {}
+func (*ListPatchJobsResponse) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{6}
+}
+
+func (m *ListPatchJobsResponse) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ListPatchJobsResponse.Unmarshal(m, b)
+}
+func (m *ListPatchJobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ListPatchJobsResponse.Marshal(b, m, deterministic)
+}
+func (m *ListPatchJobsResponse) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ListPatchJobsResponse.Merge(m, src)
+}
+func (m *ListPatchJobsResponse) XXX_Size() int {
+ return xxx_messageInfo_ListPatchJobsResponse.Size(m)
+}
+func (m *ListPatchJobsResponse) XXX_DiscardUnknown() {
+ xxx_messageInfo_ListPatchJobsResponse.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ListPatchJobsResponse proto.InternalMessageInfo
+
+func (m *ListPatchJobsResponse) GetPatchJobs() []*PatchJob {
+ if m != nil {
+ return m.PatchJobs
+ }
+ return nil
+}
+
+func (m *ListPatchJobsResponse) GetNextPageToken() string {
+ if m != nil {
+ return m.NextPageToken
+ }
+ return ""
+}
+
+// A high level representation of a patch job that is either in progress
+// or has completed.
+//
+// Instances details are not included in the job. To paginate through instance
+// details, use ListPatchJobInstanceDetails.
+//
+// For more information about patch jobs, see
+// [Creating patch jobs](/compute/docs/os-patch-management/create-patch-job).
+type PatchJob struct {
+ // Unique identifier for this patch job in the form
+ // `projects/*/patchJobs/*`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Display name for this patch job. This is not a unique identifier.
+ DisplayName string `protobuf:"bytes,14,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
+ // Description of the patch job. Length of the description is limited
+ // to 1024 characters.
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+ // Time this patch job was created.
+ CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ // Last time this patch job was updated.
+ UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+ // The current state of the PatchJob .
+ State PatchJob_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.osconfig.v1.PatchJob_State" json:"state,omitempty"`
+ // Instances to patch.
+ InstanceFilter *PatchInstanceFilter `protobuf:"bytes,13,opt,name=instance_filter,json=instanceFilter,proto3" json:"instance_filter,omitempty"`
+ // Patch configuration being applied.
+ PatchConfig *PatchConfig `protobuf:"bytes,7,opt,name=patch_config,json=patchConfig,proto3" json:"patch_config,omitempty"`
+ // Duration of the patch job. After the duration ends, the
+ // patch job times out.
+ Duration *duration.Duration `protobuf:"bytes,8,opt,name=duration,proto3" json:"duration,omitempty"`
+ // Summary of instance details.
+ InstanceDetailsSummary *PatchJob_InstanceDetailsSummary `protobuf:"bytes,9,opt,name=instance_details_summary,json=instanceDetailsSummary,proto3" json:"instance_details_summary,omitempty"`
+ // If this patch job is a dry run, the agent reports that it has
+ // finished without running any updates on the VM instance.
+ DryRun bool `protobuf:"varint,10,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
+ // If this patch job failed, this message provides information about the
+ // failure.
+ ErrorMessage string `protobuf:"bytes,11,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
+ // Reflects the overall progress of the patch job in the range of
+ // 0.0 being no progress to 100.0 being complete.
+ PercentComplete float64 `protobuf:"fixed64,12,opt,name=percent_complete,json=percentComplete,proto3" json:"percent_complete,omitempty"`
+ // Output only. Name of the patch deployment that created this patch job.
+ PatchDeployment string `protobuf:"bytes,15,opt,name=patch_deployment,json=patchDeployment,proto3" json:"patch_deployment,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchJob) Reset() { *m = PatchJob{} }
+func (m *PatchJob) String() string { return proto.CompactTextString(m) }
+func (*PatchJob) ProtoMessage() {}
+func (*PatchJob) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{7}
+}
+
+func (m *PatchJob) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchJob.Unmarshal(m, b)
+}
+func (m *PatchJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchJob.Marshal(b, m, deterministic)
+}
+func (m *PatchJob) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchJob.Merge(m, src)
+}
+func (m *PatchJob) XXX_Size() int {
+ return xxx_messageInfo_PatchJob.Size(m)
+}
+func (m *PatchJob) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchJob.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchJob proto.InternalMessageInfo
+
+func (m *PatchJob) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *PatchJob) GetDisplayName() string {
+ if m != nil {
+ return m.DisplayName
+ }
+ return ""
+}
+
+func (m *PatchJob) GetDescription() string {
+ if m != nil {
+ return m.Description
+ }
+ return ""
+}
+
+func (m *PatchJob) GetCreateTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.CreateTime
+ }
+ return nil
+}
+
+func (m *PatchJob) GetUpdateTime() *timestamp.Timestamp {
+ if m != nil {
+ return m.UpdateTime
+ }
+ return nil
+}
+
+func (m *PatchJob) GetState() PatchJob_State {
+ if m != nil {
+ return m.State
+ }
+ return PatchJob_STATE_UNSPECIFIED
+}
+
+func (m *PatchJob) GetInstanceFilter() *PatchInstanceFilter {
+ if m != nil {
+ return m.InstanceFilter
+ }
+ return nil
+}
+
+func (m *PatchJob) GetPatchConfig() *PatchConfig {
+ if m != nil {
+ return m.PatchConfig
+ }
+ return nil
+}
+
+func (m *PatchJob) GetDuration() *duration.Duration {
+ if m != nil {
+ return m.Duration
+ }
+ return nil
+}
+
+func (m *PatchJob) GetInstanceDetailsSummary() *PatchJob_InstanceDetailsSummary {
+ if m != nil {
+ return m.InstanceDetailsSummary
+ }
+ return nil
+}
+
+func (m *PatchJob) GetDryRun() bool {
+ if m != nil {
+ return m.DryRun
+ }
+ return false
+}
+
+func (m *PatchJob) GetErrorMessage() string {
+ if m != nil {
+ return m.ErrorMessage
+ }
+ return ""
+}
+
+func (m *PatchJob) GetPercentComplete() float64 {
+ if m != nil {
+ return m.PercentComplete
+ }
+ return 0
+}
+
+func (m *PatchJob) GetPatchDeployment() string {
+ if m != nil {
+ return m.PatchDeployment
+ }
+ return ""
+}
+
+// A summary of the current patch state across all instances that this patch
+// job affects. Contains counts of instances in different states. These states
+// map to `InstancePatchState`. List patch job instance details to see the
+// specific states of each instance.
+type PatchJob_InstanceDetailsSummary struct {
+ // Number of instances pending patch job.
+ PendingInstanceCount int64 `protobuf:"varint,1,opt,name=pending_instance_count,json=pendingInstanceCount,proto3" json:"pending_instance_count,omitempty"`
+ // Number of instances that are inactive.
+ InactiveInstanceCount int64 `protobuf:"varint,2,opt,name=inactive_instance_count,json=inactiveInstanceCount,proto3" json:"inactive_instance_count,omitempty"`
+ // Number of instances notified about patch job.
+ NotifiedInstanceCount int64 `protobuf:"varint,3,opt,name=notified_instance_count,json=notifiedInstanceCount,proto3" json:"notified_instance_count,omitempty"`
+ // Number of instances that have started.
+ StartedInstanceCount int64 `protobuf:"varint,4,opt,name=started_instance_count,json=startedInstanceCount,proto3" json:"started_instance_count,omitempty"`
+ // Number of instances that are downloading patches.
+ DownloadingPatchesInstanceCount int64 `protobuf:"varint,5,opt,name=downloading_patches_instance_count,json=downloadingPatchesInstanceCount,proto3" json:"downloading_patches_instance_count,omitempty"`
+ // Number of instances that are applying patches.
+ ApplyingPatchesInstanceCount int64 `protobuf:"varint,6,opt,name=applying_patches_instance_count,json=applyingPatchesInstanceCount,proto3" json:"applying_patches_instance_count,omitempty"`
+ // Number of instances rebooting.
+ RebootingInstanceCount int64 `protobuf:"varint,7,opt,name=rebooting_instance_count,json=rebootingInstanceCount,proto3" json:"rebooting_instance_count,omitempty"`
+ // Number of instances that have completed successfully.
+ SucceededInstanceCount int64 `protobuf:"varint,8,opt,name=succeeded_instance_count,json=succeededInstanceCount,proto3" json:"succeeded_instance_count,omitempty"`
+ // Number of instances that require reboot.
+ SucceededRebootRequiredInstanceCount int64 `protobuf:"varint,9,opt,name=succeeded_reboot_required_instance_count,json=succeededRebootRequiredInstanceCount,proto3" json:"succeeded_reboot_required_instance_count,omitempty"`
+ // Number of instances that failed.
+ FailedInstanceCount int64 `protobuf:"varint,10,opt,name=failed_instance_count,json=failedInstanceCount,proto3" json:"failed_instance_count,omitempty"`
+ // Number of instances that have acked and will start shortly.
+ AckedInstanceCount int64 `protobuf:"varint,11,opt,name=acked_instance_count,json=ackedInstanceCount,proto3" json:"acked_instance_count,omitempty"`
+ // Number of instances that exceeded the time out while applying the patch.
+ TimedOutInstanceCount int64 `protobuf:"varint,12,opt,name=timed_out_instance_count,json=timedOutInstanceCount,proto3" json:"timed_out_instance_count,omitempty"`
+ // Number of instances that are running the pre-patch step.
+ PrePatchStepInstanceCount int64 `protobuf:"varint,13,opt,name=pre_patch_step_instance_count,json=prePatchStepInstanceCount,proto3" json:"pre_patch_step_instance_count,omitempty"`
+ // Number of instances that are running the post-patch step.
+ PostPatchStepInstanceCount int64 `protobuf:"varint,14,opt,name=post_patch_step_instance_count,json=postPatchStepInstanceCount,proto3" json:"post_patch_step_instance_count,omitempty"`
+ // Number of instances that do not appear to be running the agent. Check to
+ // ensure that the agent is installed, running, and able to communicate with
+ // the service.
+ NoAgentDetectedInstanceCount int64 `protobuf:"varint,15,opt,name=no_agent_detected_instance_count,json=noAgentDetectedInstanceCount,proto3" json:"no_agent_detected_instance_count,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchJob_InstanceDetailsSummary) Reset() { *m = PatchJob_InstanceDetailsSummary{} }
+func (m *PatchJob_InstanceDetailsSummary) String() string { return proto.CompactTextString(m) }
+func (*PatchJob_InstanceDetailsSummary) ProtoMessage() {}
+func (*PatchJob_InstanceDetailsSummary) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{7, 0}
+}
+
+func (m *PatchJob_InstanceDetailsSummary) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchJob_InstanceDetailsSummary.Unmarshal(m, b)
+}
+func (m *PatchJob_InstanceDetailsSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchJob_InstanceDetailsSummary.Marshal(b, m, deterministic)
+}
+func (m *PatchJob_InstanceDetailsSummary) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchJob_InstanceDetailsSummary.Merge(m, src)
+}
+func (m *PatchJob_InstanceDetailsSummary) XXX_Size() int {
+ return xxx_messageInfo_PatchJob_InstanceDetailsSummary.Size(m)
+}
+func (m *PatchJob_InstanceDetailsSummary) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchJob_InstanceDetailsSummary.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchJob_InstanceDetailsSummary proto.InternalMessageInfo
+
+func (m *PatchJob_InstanceDetailsSummary) GetPendingInstanceCount() int64 {
+ if m != nil {
+ return m.PendingInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetInactiveInstanceCount() int64 {
+ if m != nil {
+ return m.InactiveInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetNotifiedInstanceCount() int64 {
+ if m != nil {
+ return m.NotifiedInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetStartedInstanceCount() int64 {
+ if m != nil {
+ return m.StartedInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetDownloadingPatchesInstanceCount() int64 {
+ if m != nil {
+ return m.DownloadingPatchesInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetApplyingPatchesInstanceCount() int64 {
+ if m != nil {
+ return m.ApplyingPatchesInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetRebootingInstanceCount() int64 {
+ if m != nil {
+ return m.RebootingInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetSucceededInstanceCount() int64 {
+ if m != nil {
+ return m.SucceededInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetSucceededRebootRequiredInstanceCount() int64 {
+ if m != nil {
+ return m.SucceededRebootRequiredInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetFailedInstanceCount() int64 {
+ if m != nil {
+ return m.FailedInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetAckedInstanceCount() int64 {
+ if m != nil {
+ return m.AckedInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetTimedOutInstanceCount() int64 {
+ if m != nil {
+ return m.TimedOutInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetPrePatchStepInstanceCount() int64 {
+ if m != nil {
+ return m.PrePatchStepInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetPostPatchStepInstanceCount() int64 {
+ if m != nil {
+ return m.PostPatchStepInstanceCount
+ }
+ return 0
+}
+
+func (m *PatchJob_InstanceDetailsSummary) GetNoAgentDetectedInstanceCount() int64 {
+ if m != nil {
+ return m.NoAgentDetectedInstanceCount
+ }
+ return 0
+}
+
+// Patch configuration specifications. Contains details on how to apply the
+// patch(es) to a VM instance.
+type PatchConfig struct {
+ // Post-patch reboot settings.
+ RebootConfig PatchConfig_RebootConfig `protobuf:"varint,1,opt,name=reboot_config,json=rebootConfig,proto3,enum=google.cloud.osconfig.v1.PatchConfig_RebootConfig" json:"reboot_config,omitempty"`
+ // Apt update settings. Use this setting to override the default `apt` patch
+ // rules.
+ Apt *AptSettings `protobuf:"bytes,3,opt,name=apt,proto3" json:"apt,omitempty"`
+ // Yum update settings. Use this setting to override the default `yum` patch
+ // rules.
+ Yum *YumSettings `protobuf:"bytes,4,opt,name=yum,proto3" json:"yum,omitempty"`
+ // Goo update settings. Use this setting to override the default `goo` patch
+ // rules.
+ Goo *GooSettings `protobuf:"bytes,5,opt,name=goo,proto3" json:"goo,omitempty"`
+ // Zypper update settings. Use this setting to override the default `zypper`
+ // patch rules.
+ Zypper *ZypperSettings `protobuf:"bytes,6,opt,name=zypper,proto3" json:"zypper,omitempty"`
+ // Windows update settings. Use this override the default windows patch rules.
+ WindowsUpdate *WindowsUpdateSettings `protobuf:"bytes,7,opt,name=windows_update,json=windowsUpdate,proto3" json:"windows_update,omitempty"`
+ // The `ExecStep` to run before the patch update.
+ PreStep *ExecStep `protobuf:"bytes,8,opt,name=pre_step,json=preStep,proto3" json:"pre_step,omitempty"`
+ // The `ExecStep` to run after the patch update.
+ PostStep *ExecStep `protobuf:"bytes,9,opt,name=post_step,json=postStep,proto3" json:"post_step,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchConfig) Reset() { *m = PatchConfig{} }
+func (m *PatchConfig) String() string { return proto.CompactTextString(m) }
+func (*PatchConfig) ProtoMessage() {}
+func (*PatchConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{8}
+}
+
+func (m *PatchConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchConfig.Unmarshal(m, b)
+}
+func (m *PatchConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchConfig.Marshal(b, m, deterministic)
+}
+func (m *PatchConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchConfig.Merge(m, src)
+}
+func (m *PatchConfig) XXX_Size() int {
+ return xxx_messageInfo_PatchConfig.Size(m)
+}
+func (m *PatchConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchConfig proto.InternalMessageInfo
+
+func (m *PatchConfig) GetRebootConfig() PatchConfig_RebootConfig {
+ if m != nil {
+ return m.RebootConfig
+ }
+ return PatchConfig_REBOOT_CONFIG_UNSPECIFIED
+}
+
+func (m *PatchConfig) GetApt() *AptSettings {
+ if m != nil {
+ return m.Apt
+ }
+ return nil
+}
+
+func (m *PatchConfig) GetYum() *YumSettings {
+ if m != nil {
+ return m.Yum
+ }
+ return nil
+}
+
+func (m *PatchConfig) GetGoo() *GooSettings {
+ if m != nil {
+ return m.Goo
+ }
+ return nil
+}
+
+func (m *PatchConfig) GetZypper() *ZypperSettings {
+ if m != nil {
+ return m.Zypper
+ }
+ return nil
+}
+
+func (m *PatchConfig) GetWindowsUpdate() *WindowsUpdateSettings {
+ if m != nil {
+ return m.WindowsUpdate
+ }
+ return nil
+}
+
+func (m *PatchConfig) GetPreStep() *ExecStep {
+ if m != nil {
+ return m.PreStep
+ }
+ return nil
+}
+
+func (m *PatchConfig) GetPostStep() *ExecStep {
+ if m != nil {
+ return m.PostStep
+ }
+ return nil
+}
+
+// Namespace for instance state enums.
+type Instance struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *Instance) Reset() { *m = Instance{} }
+func (m *Instance) String() string { return proto.CompactTextString(m) }
+func (*Instance) ProtoMessage() {}
+func (*Instance) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{9}
+}
+
+func (m *Instance) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_Instance.Unmarshal(m, b)
+}
+func (m *Instance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_Instance.Marshal(b, m, deterministic)
+}
+func (m *Instance) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_Instance.Merge(m, src)
+}
+func (m *Instance) XXX_Size() int {
+ return xxx_messageInfo_Instance.Size(m)
+}
+func (m *Instance) XXX_DiscardUnknown() {
+ xxx_messageInfo_Instance.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_Instance proto.InternalMessageInfo
+
+// Message for canceling a patch job.
+type CancelPatchJobRequest struct {
+ // Required. Name of the patch in the form `projects/*/patchJobs/*`
+ 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 *CancelPatchJobRequest) Reset() { *m = CancelPatchJobRequest{} }
+func (m *CancelPatchJobRequest) String() string { return proto.CompactTextString(m) }
+func (*CancelPatchJobRequest) ProtoMessage() {}
+func (*CancelPatchJobRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{10}
+}
+
+func (m *CancelPatchJobRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_CancelPatchJobRequest.Unmarshal(m, b)
+}
+func (m *CancelPatchJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_CancelPatchJobRequest.Marshal(b, m, deterministic)
+}
+func (m *CancelPatchJobRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_CancelPatchJobRequest.Merge(m, src)
+}
+func (m *CancelPatchJobRequest) XXX_Size() int {
+ return xxx_messageInfo_CancelPatchJobRequest.Size(m)
+}
+func (m *CancelPatchJobRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_CancelPatchJobRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_CancelPatchJobRequest proto.InternalMessageInfo
+
+func (m *CancelPatchJobRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+// Apt patching is completed by executing `apt-get update && apt-get
+// upgrade`. Additional options can be set to control how this is executed.
+type AptSettings struct {
+ // By changing the type to DIST, the patching is performed
+ // using `apt-get dist-upgrade` instead.
+ Type AptSettings_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.osconfig.v1.AptSettings_Type" json:"type,omitempty"`
+ // List of packages to exclude from update. These packages will be excluded
+ Excludes []string `protobuf:"bytes,2,rep,name=excludes,proto3" json:"excludes,omitempty"`
+ // An exclusive list of packages to be updated. These are the only packages
+ // that will be updated. If these packages are not installed, they will be
+ // ignored. This field cannot be specified with any other patch configuration
+ // fields.
+ ExclusivePackages []string `protobuf:"bytes,3,rep,name=exclusive_packages,json=exclusivePackages,proto3" json:"exclusive_packages,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *AptSettings) Reset() { *m = AptSettings{} }
+func (m *AptSettings) String() string { return proto.CompactTextString(m) }
+func (*AptSettings) ProtoMessage() {}
+func (*AptSettings) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{11}
+}
+
+func (m *AptSettings) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_AptSettings.Unmarshal(m, b)
+}
+func (m *AptSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_AptSettings.Marshal(b, m, deterministic)
+}
+func (m *AptSettings) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_AptSettings.Merge(m, src)
+}
+func (m *AptSettings) XXX_Size() int {
+ return xxx_messageInfo_AptSettings.Size(m)
+}
+func (m *AptSettings) XXX_DiscardUnknown() {
+ xxx_messageInfo_AptSettings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_AptSettings proto.InternalMessageInfo
+
+func (m *AptSettings) GetType() AptSettings_Type {
+ if m != nil {
+ return m.Type
+ }
+ return AptSettings_TYPE_UNSPECIFIED
+}
+
+func (m *AptSettings) GetExcludes() []string {
+ if m != nil {
+ return m.Excludes
+ }
+ return nil
+}
+
+func (m *AptSettings) GetExclusivePackages() []string {
+ if m != nil {
+ return m.ExclusivePackages
+ }
+ return nil
+}
+
+// Yum patching is performed by executing `yum update`. Additional options
+// can be set to control how this is executed.
+//
+// Note that not all settings are supported on all platforms.
+type YumSettings struct {
+ // Adds the `--security` flag to `yum update`. Not supported on
+ // all platforms.
+ Security bool `protobuf:"varint,1,opt,name=security,proto3" json:"security,omitempty"`
+ // Will cause patch to run `yum update-minimal` instead.
+ Minimal bool `protobuf:"varint,2,opt,name=minimal,proto3" json:"minimal,omitempty"`
+ // List of packages to exclude from update. These packages are excluded by
+ // using the yum `--exclude` flag.
+ Excludes []string `protobuf:"bytes,3,rep,name=excludes,proto3" json:"excludes,omitempty"`
+ // An exclusive list of packages to be updated. These are the only packages
+ // that will be updated. If these packages are not installed, they will be
+ // ignored. This field must not be specified with any other patch
+ // configuration fields.
+ ExclusivePackages []string `protobuf:"bytes,4,rep,name=exclusive_packages,json=exclusivePackages,proto3" json:"exclusive_packages,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *YumSettings) Reset() { *m = YumSettings{} }
+func (m *YumSettings) String() string { return proto.CompactTextString(m) }
+func (*YumSettings) ProtoMessage() {}
+func (*YumSettings) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{12}
+}
+
+func (m *YumSettings) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_YumSettings.Unmarshal(m, b)
+}
+func (m *YumSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_YumSettings.Marshal(b, m, deterministic)
+}
+func (m *YumSettings) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_YumSettings.Merge(m, src)
+}
+func (m *YumSettings) XXX_Size() int {
+ return xxx_messageInfo_YumSettings.Size(m)
+}
+func (m *YumSettings) XXX_DiscardUnknown() {
+ xxx_messageInfo_YumSettings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_YumSettings proto.InternalMessageInfo
+
+func (m *YumSettings) GetSecurity() bool {
+ if m != nil {
+ return m.Security
+ }
+ return false
+}
+
+func (m *YumSettings) GetMinimal() bool {
+ if m != nil {
+ return m.Minimal
+ }
+ return false
+}
+
+func (m *YumSettings) GetExcludes() []string {
+ if m != nil {
+ return m.Excludes
+ }
+ return nil
+}
+
+func (m *YumSettings) GetExclusivePackages() []string {
+ if m != nil {
+ return m.ExclusivePackages
+ }
+ return nil
+}
+
+// Googet patching is performed by running `googet update`.
+type GooSettings struct {
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GooSettings) Reset() { *m = GooSettings{} }
+func (m *GooSettings) String() string { return proto.CompactTextString(m) }
+func (*GooSettings) ProtoMessage() {}
+func (*GooSettings) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{13}
+}
+
+func (m *GooSettings) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GooSettings.Unmarshal(m, b)
+}
+func (m *GooSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GooSettings.Marshal(b, m, deterministic)
+}
+func (m *GooSettings) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GooSettings.Merge(m, src)
+}
+func (m *GooSettings) XXX_Size() int {
+ return xxx_messageInfo_GooSettings.Size(m)
+}
+func (m *GooSettings) XXX_DiscardUnknown() {
+ xxx_messageInfo_GooSettings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GooSettings proto.InternalMessageInfo
+
+// Zypper patching is performed by running `zypper patch`.
+// See also https://en.opensuse.org/SDB:Zypper_manual.
+type ZypperSettings struct {
+ // Adds the `--with-optional` flag to `zypper patch`.
+ WithOptional bool `protobuf:"varint,1,opt,name=with_optional,json=withOptional,proto3" json:"with_optional,omitempty"`
+ // Adds the `--with-update` flag, to `zypper patch`.
+ WithUpdate bool `protobuf:"varint,2,opt,name=with_update,json=withUpdate,proto3" json:"with_update,omitempty"`
+ // Install only patches with these categories.
+ // Common categories include security, recommended, and feature.
+ Categories []string `protobuf:"bytes,3,rep,name=categories,proto3" json:"categories,omitempty"`
+ // Install only patches with these severities.
+ // Common severities include critical, important, moderate, and low.
+ Severities []string `protobuf:"bytes,4,rep,name=severities,proto3" json:"severities,omitempty"`
+ // List of patches to exclude from update.
+ Excludes []string `protobuf:"bytes,5,rep,name=excludes,proto3" json:"excludes,omitempty"`
+ // An exclusive list of patches to be updated. These are the only patches
+ // that will be installed using 'zypper patch patch:<patch_name>' command.
+ // This field must not be used with any other patch configuration fields.
+ ExclusivePatches []string `protobuf:"bytes,6,rep,name=exclusive_patches,json=exclusivePatches,proto3" json:"exclusive_patches,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ZypperSettings) Reset() { *m = ZypperSettings{} }
+func (m *ZypperSettings) String() string { return proto.CompactTextString(m) }
+func (*ZypperSettings) ProtoMessage() {}
+func (*ZypperSettings) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{14}
+}
+
+func (m *ZypperSettings) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ZypperSettings.Unmarshal(m, b)
+}
+func (m *ZypperSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ZypperSettings.Marshal(b, m, deterministic)
+}
+func (m *ZypperSettings) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ZypperSettings.Merge(m, src)
+}
+func (m *ZypperSettings) XXX_Size() int {
+ return xxx_messageInfo_ZypperSettings.Size(m)
+}
+func (m *ZypperSettings) XXX_DiscardUnknown() {
+ xxx_messageInfo_ZypperSettings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ZypperSettings proto.InternalMessageInfo
+
+func (m *ZypperSettings) GetWithOptional() bool {
+ if m != nil {
+ return m.WithOptional
+ }
+ return false
+}
+
+func (m *ZypperSettings) GetWithUpdate() bool {
+ if m != nil {
+ return m.WithUpdate
+ }
+ return false
+}
+
+func (m *ZypperSettings) GetCategories() []string {
+ if m != nil {
+ return m.Categories
+ }
+ return nil
+}
+
+func (m *ZypperSettings) GetSeverities() []string {
+ if m != nil {
+ return m.Severities
+ }
+ return nil
+}
+
+func (m *ZypperSettings) GetExcludes() []string {
+ if m != nil {
+ return m.Excludes
+ }
+ return nil
+}
+
+func (m *ZypperSettings) GetExclusivePatches() []string {
+ if m != nil {
+ return m.ExclusivePatches
+ }
+ return nil
+}
+
+// Windows patching is performed using the Windows Update Agent.
+type WindowsUpdateSettings struct {
+ // Only apply updates of these windows update classifications. If empty, all
+ // updates are applied.
+ Classifications []WindowsUpdateSettings_Classification `protobuf:"varint,1,rep,packed,name=classifications,proto3,enum=google.cloud.osconfig.v1.WindowsUpdateSettings_Classification" json:"classifications,omitempty"`
+ // List of KBs to exclude from update.
+ Excludes []string `protobuf:"bytes,2,rep,name=excludes,proto3" json:"excludes,omitempty"`
+ // An exclusive list of kbs to be updated. These are the only patches
+ // that will be updated. This field must not be used with other
+ // patch configurations.
+ ExclusivePatches []string `protobuf:"bytes,3,rep,name=exclusive_patches,json=exclusivePatches,proto3" json:"exclusive_patches,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *WindowsUpdateSettings) Reset() { *m = WindowsUpdateSettings{} }
+func (m *WindowsUpdateSettings) String() string { return proto.CompactTextString(m) }
+func (*WindowsUpdateSettings) ProtoMessage() {}
+func (*WindowsUpdateSettings) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{15}
+}
+
+func (m *WindowsUpdateSettings) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_WindowsUpdateSettings.Unmarshal(m, b)
+}
+func (m *WindowsUpdateSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_WindowsUpdateSettings.Marshal(b, m, deterministic)
+}
+func (m *WindowsUpdateSettings) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_WindowsUpdateSettings.Merge(m, src)
+}
+func (m *WindowsUpdateSettings) XXX_Size() int {
+ return xxx_messageInfo_WindowsUpdateSettings.Size(m)
+}
+func (m *WindowsUpdateSettings) XXX_DiscardUnknown() {
+ xxx_messageInfo_WindowsUpdateSettings.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_WindowsUpdateSettings proto.InternalMessageInfo
+
+func (m *WindowsUpdateSettings) GetClassifications() []WindowsUpdateSettings_Classification {
+ if m != nil {
+ return m.Classifications
+ }
+ return nil
+}
+
+func (m *WindowsUpdateSettings) GetExcludes() []string {
+ if m != nil {
+ return m.Excludes
+ }
+ return nil
+}
+
+func (m *WindowsUpdateSettings) GetExclusivePatches() []string {
+ if m != nil {
+ return m.ExclusivePatches
+ }
+ return nil
+}
+
+// A step that runs an executable for a PatchJob.
+type ExecStep struct {
+ // The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ LinuxExecStepConfig *ExecStepConfig `protobuf:"bytes,1,opt,name=linux_exec_step_config,json=linuxExecStepConfig,proto3" json:"linux_exec_step_config,omitempty"`
+ // The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ WindowsExecStepConfig *ExecStepConfig `protobuf:"bytes,2,opt,name=windows_exec_step_config,json=windowsExecStepConfig,proto3" json:"windows_exec_step_config,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ExecStep) Reset() { *m = ExecStep{} }
+func (m *ExecStep) String() string { return proto.CompactTextString(m) }
+func (*ExecStep) ProtoMessage() {}
+func (*ExecStep) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{16}
+}
+
+func (m *ExecStep) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ExecStep.Unmarshal(m, b)
+}
+func (m *ExecStep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ExecStep.Marshal(b, m, deterministic)
+}
+func (m *ExecStep) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ExecStep.Merge(m, src)
+}
+func (m *ExecStep) XXX_Size() int {
+ return xxx_messageInfo_ExecStep.Size(m)
+}
+func (m *ExecStep) XXX_DiscardUnknown() {
+ xxx_messageInfo_ExecStep.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ExecStep proto.InternalMessageInfo
+
+func (m *ExecStep) GetLinuxExecStepConfig() *ExecStepConfig {
+ if m != nil {
+ return m.LinuxExecStepConfig
+ }
+ return nil
+}
+
+func (m *ExecStep) GetWindowsExecStepConfig() *ExecStepConfig {
+ if m != nil {
+ return m.WindowsExecStepConfig
+ }
+ return nil
+}
+
+// Common configurations for an ExecStep.
+type ExecStepConfig struct {
+ // Location of the executable.
+ //
+ // Types that are valid to be assigned to Executable:
+ // *ExecStepConfig_LocalPath
+ // *ExecStepConfig_GcsObject
+ Executable isExecStepConfig_Executable `protobuf_oneof:"executable"`
+ // Defaults to [0]. A list of possible return values that the
+ // execution can return to indicate a success.
+ AllowedSuccessCodes []int32 `protobuf:"varint,3,rep,packed,name=allowed_success_codes,json=allowedSuccessCodes,proto3" json:"allowed_success_codes,omitempty"`
+ // The script interpreter to use to run the script. If no interpreter is
+ // specified the script will be executed directly, which will likely
+ // only succeed for scripts with [shebang lines]
+ // (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ Interpreter ExecStepConfig_Interpreter `protobuf:"varint,4,opt,name=interpreter,proto3,enum=google.cloud.osconfig.v1.ExecStepConfig_Interpreter" json:"interpreter,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *ExecStepConfig) Reset() { *m = ExecStepConfig{} }
+func (m *ExecStepConfig) String() string { return proto.CompactTextString(m) }
+func (*ExecStepConfig) ProtoMessage() {}
+func (*ExecStepConfig) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{17}
+}
+
+func (m *ExecStepConfig) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_ExecStepConfig.Unmarshal(m, b)
+}
+func (m *ExecStepConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_ExecStepConfig.Marshal(b, m, deterministic)
+}
+func (m *ExecStepConfig) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_ExecStepConfig.Merge(m, src)
+}
+func (m *ExecStepConfig) XXX_Size() int {
+ return xxx_messageInfo_ExecStepConfig.Size(m)
+}
+func (m *ExecStepConfig) XXX_DiscardUnknown() {
+ xxx_messageInfo_ExecStepConfig.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_ExecStepConfig proto.InternalMessageInfo
+
+type isExecStepConfig_Executable interface {
+ isExecStepConfig_Executable()
+}
+
+type ExecStepConfig_LocalPath struct {
+ LocalPath string `protobuf:"bytes,1,opt,name=local_path,json=localPath,proto3,oneof"`
+}
+
+type ExecStepConfig_GcsObject struct {
+ GcsObject *GcsObject `protobuf:"bytes,2,opt,name=gcs_object,json=gcsObject,proto3,oneof"`
+}
+
+func (*ExecStepConfig_LocalPath) isExecStepConfig_Executable() {}
+
+func (*ExecStepConfig_GcsObject) isExecStepConfig_Executable() {}
+
+func (m *ExecStepConfig) GetExecutable() isExecStepConfig_Executable {
+ if m != nil {
+ return m.Executable
+ }
+ return nil
+}
+
+func (m *ExecStepConfig) GetLocalPath() string {
+ if x, ok := m.GetExecutable().(*ExecStepConfig_LocalPath); ok {
+ return x.LocalPath
+ }
+ return ""
+}
+
+func (m *ExecStepConfig) GetGcsObject() *GcsObject {
+ if x, ok := m.GetExecutable().(*ExecStepConfig_GcsObject); ok {
+ return x.GcsObject
+ }
+ return nil
+}
+
+func (m *ExecStepConfig) GetAllowedSuccessCodes() []int32 {
+ if m != nil {
+ return m.AllowedSuccessCodes
+ }
+ return nil
+}
+
+func (m *ExecStepConfig) GetInterpreter() ExecStepConfig_Interpreter {
+ if m != nil {
+ return m.Interpreter
+ }
+ return ExecStepConfig_INTERPRETER_UNSPECIFIED
+}
+
+// XXX_OneofWrappers is for the internal use of the proto package.
+func (*ExecStepConfig) XXX_OneofWrappers() []interface{} {
+ return []interface{}{
+ (*ExecStepConfig_LocalPath)(nil),
+ (*ExecStepConfig_GcsObject)(nil),
+ }
+}
+
+// Google Cloud Storage object representation.
+type GcsObject struct {
+ // Required. Bucket of the Google Cloud Storage object.
+ Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // Required. Name of the Google Cloud Storage object.
+ Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
+ // Required. Generation number of the Google Cloud Storage object. This is used to
+ // ensure that the ExecStep specified by this PatchJob does not change.
+ GenerationNumber int64 `protobuf:"varint,3,opt,name=generation_number,json=generationNumber,proto3" json:"generation_number,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *GcsObject) Reset() { *m = GcsObject{} }
+func (m *GcsObject) String() string { return proto.CompactTextString(m) }
+func (*GcsObject) ProtoMessage() {}
+func (*GcsObject) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{18}
+}
+
+func (m *GcsObject) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_GcsObject.Unmarshal(m, b)
+}
+func (m *GcsObject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_GcsObject.Marshal(b, m, deterministic)
+}
+func (m *GcsObject) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_GcsObject.Merge(m, src)
+}
+func (m *GcsObject) XXX_Size() int {
+ return xxx_messageInfo_GcsObject.Size(m)
+}
+func (m *GcsObject) XXX_DiscardUnknown() {
+ xxx_messageInfo_GcsObject.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_GcsObject proto.InternalMessageInfo
+
+func (m *GcsObject) GetBucket() string {
+ if m != nil {
+ return m.Bucket
+ }
+ return ""
+}
+
+func (m *GcsObject) GetObject() string {
+ if m != nil {
+ return m.Object
+ }
+ return ""
+}
+
+func (m *GcsObject) GetGenerationNumber() int64 {
+ if m != nil {
+ return m.GenerationNumber
+ }
+ return 0
+}
+
+// A filter to target VM instances for patching. The targeted
+// VMs must meet all criteria specified. So if both labels and zones are
+// specified, the patch job targets only VMs with those labels and in those
+// zones.
+type PatchInstanceFilter struct {
+ // Target all VM instances in the project. If true, no other criteria is
+ // permitted.
+ All bool `protobuf:"varint,1,opt,name=all,proto3" json:"all,omitempty"`
+ // Targets VM instances matching at least one of these label sets. This allows
+ // targeting of disparate groups, for example "env=prod or env=staging".
+ GroupLabels []*PatchInstanceFilter_GroupLabel `protobuf:"bytes,2,rep,name=group_labels,json=groupLabels,proto3" json:"group_labels,omitempty"`
+ // Targets VM instances in ANY of these zones. Leave empty to target VM
+ // instances in any zone.
+ Zones []string `protobuf:"bytes,3,rep,name=zones,proto3" json:"zones,omitempty"`
+ // Targets any of the VM instances specified. Instances are specified by their
+ // URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME],
+ // `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ // `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ Instances []string `protobuf:"bytes,4,rep,name=instances,proto3" json:"instances,omitempty"`
+ // Targets VMs whose name starts with one of these prefixes. Similar to
+ // labels, this is another way to group VMs when targeting configs, for
+ // example prefix="prod-".
+ InstanceNamePrefixes []string `protobuf:"bytes,5,rep,name=instance_name_prefixes,json=instanceNamePrefixes,proto3" json:"instance_name_prefixes,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchInstanceFilter) Reset() { *m = PatchInstanceFilter{} }
+func (m *PatchInstanceFilter) String() string { return proto.CompactTextString(m) }
+func (*PatchInstanceFilter) ProtoMessage() {}
+func (*PatchInstanceFilter) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{19}
+}
+
+func (m *PatchInstanceFilter) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchInstanceFilter.Unmarshal(m, b)
+}
+func (m *PatchInstanceFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchInstanceFilter.Marshal(b, m, deterministic)
+}
+func (m *PatchInstanceFilter) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchInstanceFilter.Merge(m, src)
+}
+func (m *PatchInstanceFilter) XXX_Size() int {
+ return xxx_messageInfo_PatchInstanceFilter.Size(m)
+}
+func (m *PatchInstanceFilter) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchInstanceFilter.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchInstanceFilter proto.InternalMessageInfo
+
+func (m *PatchInstanceFilter) GetAll() bool {
+ if m != nil {
+ return m.All
+ }
+ return false
+}
+
+func (m *PatchInstanceFilter) GetGroupLabels() []*PatchInstanceFilter_GroupLabel {
+ if m != nil {
+ return m.GroupLabels
+ }
+ return nil
+}
+
+func (m *PatchInstanceFilter) GetZones() []string {
+ if m != nil {
+ return m.Zones
+ }
+ return nil
+}
+
+func (m *PatchInstanceFilter) GetInstances() []string {
+ if m != nil {
+ return m.Instances
+ }
+ return nil
+}
+
+func (m *PatchInstanceFilter) GetInstanceNamePrefixes() []string {
+ if m != nil {
+ return m.InstanceNamePrefixes
+ }
+ return nil
+}
+
+// Represents a group of VMs that can be identified as having all these
+// labels, for example "env=prod and app=web".
+type PatchInstanceFilter_GroupLabel struct {
+ // Google Compute Engine instance labels that must be present for a VM
+ // instance to be targeted by this filter.
+ Labels map[string]string `protobuf:"bytes,1,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *PatchInstanceFilter_GroupLabel) Reset() { *m = PatchInstanceFilter_GroupLabel{} }
+func (m *PatchInstanceFilter_GroupLabel) String() string { return proto.CompactTextString(m) }
+func (*PatchInstanceFilter_GroupLabel) ProtoMessage() {}
+func (*PatchInstanceFilter_GroupLabel) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17f359040d82dc99, []int{19, 0}
+}
+
+func (m *PatchInstanceFilter_GroupLabel) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_PatchInstanceFilter_GroupLabel.Unmarshal(m, b)
+}
+func (m *PatchInstanceFilter_GroupLabel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_PatchInstanceFilter_GroupLabel.Marshal(b, m, deterministic)
+}
+func (m *PatchInstanceFilter_GroupLabel) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_PatchInstanceFilter_GroupLabel.Merge(m, src)
+}
+func (m *PatchInstanceFilter_GroupLabel) XXX_Size() int {
+ return xxx_messageInfo_PatchInstanceFilter_GroupLabel.Size(m)
+}
+func (m *PatchInstanceFilter_GroupLabel) XXX_DiscardUnknown() {
+ xxx_messageInfo_PatchInstanceFilter_GroupLabel.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_PatchInstanceFilter_GroupLabel proto.InternalMessageInfo
+
+func (m *PatchInstanceFilter_GroupLabel) GetLabels() map[string]string {
+ if m != nil {
+ return m.Labels
+ }
+ return nil
+}
+
+func init() {
+ proto.RegisterEnum("google.cloud.osconfig.v1.PatchJob_State", PatchJob_State_name, PatchJob_State_value)
+ proto.RegisterEnum("google.cloud.osconfig.v1.PatchConfig_RebootConfig", PatchConfig_RebootConfig_name, PatchConfig_RebootConfig_value)
+ proto.RegisterEnum("google.cloud.osconfig.v1.Instance_PatchState", Instance_PatchState_name, Instance_PatchState_value)
+ proto.RegisterEnum("google.cloud.osconfig.v1.AptSettings_Type", AptSettings_Type_name, AptSettings_Type_value)
+ proto.RegisterEnum("google.cloud.osconfig.v1.WindowsUpdateSettings_Classification", WindowsUpdateSettings_Classification_name, WindowsUpdateSettings_Classification_value)
+ proto.RegisterEnum("google.cloud.osconfig.v1.ExecStepConfig_Interpreter", ExecStepConfig_Interpreter_name, ExecStepConfig_Interpreter_value)
+ proto.RegisterType((*ExecutePatchJobRequest)(nil), "google.cloud.osconfig.v1.ExecutePatchJobRequest")
+ proto.RegisterType((*GetPatchJobRequest)(nil), "google.cloud.osconfig.v1.GetPatchJobRequest")
+ proto.RegisterType((*ListPatchJobInstanceDetailsRequest)(nil), "google.cloud.osconfig.v1.ListPatchJobInstanceDetailsRequest")
+ proto.RegisterType((*ListPatchJobInstanceDetailsResponse)(nil), "google.cloud.osconfig.v1.ListPatchJobInstanceDetailsResponse")
+ proto.RegisterType((*PatchJobInstanceDetails)(nil), "google.cloud.osconfig.v1.PatchJobInstanceDetails")
+ proto.RegisterType((*ListPatchJobsRequest)(nil), "google.cloud.osconfig.v1.ListPatchJobsRequest")
+ proto.RegisterType((*ListPatchJobsResponse)(nil), "google.cloud.osconfig.v1.ListPatchJobsResponse")
+ proto.RegisterType((*PatchJob)(nil), "google.cloud.osconfig.v1.PatchJob")
+ proto.RegisterType((*PatchJob_InstanceDetailsSummary)(nil), "google.cloud.osconfig.v1.PatchJob.InstanceDetailsSummary")
+ proto.RegisterType((*PatchConfig)(nil), "google.cloud.osconfig.v1.PatchConfig")
+ proto.RegisterType((*Instance)(nil), "google.cloud.osconfig.v1.Instance")
+ proto.RegisterType((*CancelPatchJobRequest)(nil), "google.cloud.osconfig.v1.CancelPatchJobRequest")
+ proto.RegisterType((*AptSettings)(nil), "google.cloud.osconfig.v1.AptSettings")
+ proto.RegisterType((*YumSettings)(nil), "google.cloud.osconfig.v1.YumSettings")
+ proto.RegisterType((*GooSettings)(nil), "google.cloud.osconfig.v1.GooSettings")
+ proto.RegisterType((*ZypperSettings)(nil), "google.cloud.osconfig.v1.ZypperSettings")
+ proto.RegisterType((*WindowsUpdateSettings)(nil), "google.cloud.osconfig.v1.WindowsUpdateSettings")
+ proto.RegisterType((*ExecStep)(nil), "google.cloud.osconfig.v1.ExecStep")
+ proto.RegisterType((*ExecStepConfig)(nil), "google.cloud.osconfig.v1.ExecStepConfig")
+ proto.RegisterType((*GcsObject)(nil), "google.cloud.osconfig.v1.GcsObject")
+ proto.RegisterType((*PatchInstanceFilter)(nil), "google.cloud.osconfig.v1.PatchInstanceFilter")
+ proto.RegisterType((*PatchInstanceFilter_GroupLabel)(nil), "google.cloud.osconfig.v1.PatchInstanceFilter.GroupLabel")
+ proto.RegisterMapType((map[string]string)(nil), "google.cloud.osconfig.v1.PatchInstanceFilter.GroupLabel.LabelsEntry")
+}
+
+func init() {
+ proto.RegisterFile("google/cloud/osconfig/v1/patch_jobs.proto", fileDescriptor_17f359040d82dc99)
+}
+
+var fileDescriptor_17f359040d82dc99 = []byte{
+ // 2588 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4b, 0x73, 0xe3, 0xc6,
+ 0xb5, 0x36, 0x1f, 0x92, 0xc8, 0x43, 0x8a, 0xc2, 0xf4, 0x8c, 0x34, 0x1c, 0xd9, 0x1e, 0xc9, 0x18,
+ 0xfb, 0x5e, 0xf9, 0xfa, 0x9a, 0xb4, 0x65, 0xdf, 0xeb, 0xb1, 0x9d, 0x38, 0x86, 0x48, 0x48, 0x83,
+ 0x0c, 0x4d, 0xd2, 0x4d, 0x50, 0x53, 0x63, 0x27, 0x85, 0x82, 0xc0, 0x16, 0x07, 0x1e, 0x10, 0x80,
+ 0xf1, 0x18, 0x0d, 0xc7, 0xe5, 0x8d, 0x7f, 0x40, 0x16, 0xa9, 0x4a, 0xf6, 0x59, 0xe4, 0x27, 0xa4,
+ 0x52, 0x95, 0xaa, 0x2c, 0xbc, 0x4f, 0xb2, 0xce, 0x26, 0x15, 0xaf, 0xf3, 0x13, 0xbc, 0x48, 0xa5,
+ 0xfa, 0x01, 0x08, 0x24, 0xf5, 0xb2, 0xcb, 0xde, 0xb1, 0xcf, 0x39, 0xdf, 0x87, 0x3e, 0xdd, 0xe7,
+ 0xd1, 0xdd, 0x84, 0x57, 0xc7, 0x9e, 0x37, 0x76, 0x48, 0xd3, 0x72, 0xbc, 0x78, 0xd4, 0xf4, 0x42,
+ 0xcb, 0x73, 0x8f, 0xed, 0x71, 0xf3, 0xc9, 0x9b, 0x4d, 0xdf, 0x8c, 0xac, 0x47, 0xc6, 0x67, 0xde,
+ 0x51, 0xd8, 0xf0, 0x03, 0x2f, 0xf2, 0x50, 0x9d, 0x9b, 0x36, 0x98, 0x69, 0x23, 0x31, 0x6d, 0x3c,
+ 0x79, 0x73, 0x73, 0x4b, 0x90, 0x98, 0xbe, 0xdd, 0x3c, 0xb6, 0x89, 0x33, 0x32, 0x8e, 0xc8, 0x23,
+ 0xf3, 0x89, 0xed, 0x05, 0x1c, 0xba, 0x79, 0x2b, 0x63, 0x10, 0x90, 0xd0, 0x8b, 0x03, 0x8b, 0x08,
+ 0xd5, 0x6d, 0xa1, 0x62, 0xa3, 0xa3, 0xf8, 0xb8, 0x39, 0x8a, 0x03, 0x33, 0xb2, 0x3d, 0x57, 0xe8,
+ 0xb7, 0xe6, 0xf5, 0x91, 0x3d, 0x21, 0x61, 0x64, 0x4e, 0x7c, 0x6e, 0x20, 0xff, 0xae, 0x00, 0x1b,
+ 0xea, 0x53, 0x62, 0xc5, 0x11, 0xe9, 0xd3, 0x29, 0xff, 0xdc, 0x3b, 0xc2, 0xe4, 0xf3, 0x98, 0x84,
+ 0x11, 0xba, 0x0f, 0xcb, 0xbe, 0x19, 0x10, 0x37, 0xaa, 0xe7, 0xb6, 0x73, 0x3b, 0xe5, 0xbd, 0xb7,
+ 0xbe, 0x51, 0xf2, 0xdf, 0x2a, 0xaf, 0xc3, 0x6b, 0xcc, 0x85, 0x64, 0x22, 0x13, 0xd3, 0x35, 0xc7,
+ 0x24, 0x68, 0xf0, 0x0f, 0x99, 0xbe, 0x1d, 0x36, 0x2c, 0x6f, 0xd2, 0xec, 0x07, 0xde, 0x67, 0xc4,
+ 0x8a, 0xb0, 0xa0, 0x40, 0xdb, 0x50, 0x19, 0x91, 0xd0, 0x0a, 0x6c, 0x9f, 0xce, 0xae, 0x9e, 0xa7,
+ 0x8c, 0x38, 0x2b, 0x42, 0x9f, 0xc2, 0x9a, 0xed, 0x86, 0x91, 0xe9, 0x5a, 0xc4, 0x38, 0xb6, 0x9d,
+ 0x88, 0x04, 0xf5, 0x95, 0xed, 0xdc, 0x4e, 0x65, 0xf7, 0xf5, 0xc6, 0x79, 0x4b, 0xd7, 0x60, 0x53,
+ 0xd6, 0x04, 0x6a, 0x9f, 0x81, 0xf6, 0x0a, 0xdf, 0x28, 0x79, 0x5c, 0xb3, 0x67, 0x84, 0xe8, 0x1e,
+ 0x54, 0xf9, 0x8e, 0x70, 0x6c, 0xbd, 0xc8, 0x98, 0x5f, 0xb9, 0x84, 0xb9, 0xc5, 0x86, 0xb8, 0xe2,
+ 0x9f, 0x0e, 0xd0, 0xff, 0x41, 0x29, 0x59, 0xe3, 0xfa, 0x12, 0x63, 0xb9, 0x95, 0xb0, 0x24, 0x8b,
+ 0xdc, 0x68, 0x0b, 0x03, 0x9c, 0x9a, 0xa2, 0x9b, 0xb0, 0x32, 0x0a, 0xa6, 0x46, 0x10, 0xbb, 0xf5,
+ 0xe5, 0xed, 0xdc, 0x4e, 0x09, 0x2f, 0x8f, 0x82, 0x29, 0x8e, 0x5d, 0xf4, 0x12, 0x54, 0x47, 0x76,
+ 0xe8, 0x3b, 0xe6, 0xd4, 0x70, 0xcd, 0x09, 0xa9, 0x97, 0xc4, 0xca, 0x70, 0x59, 0xd7, 0x9c, 0x10,
+ 0x19, 0x03, 0x3a, 0x20, 0xd1, 0xfc, 0xf6, 0xfc, 0x04, 0x8a, 0x0c, 0xc0, 0x37, 0x67, 0x87, 0x6d,
+ 0x8e, 0x0c, 0xdb, 0xa9, 0x13, 0xf3, 0x1b, 0x92, 0xc0, 0x19, 0x4a, 0xfe, 0x53, 0x0e, 0xe4, 0x8e,
+ 0x1d, 0xa6, 0xac, 0xc9, 0x22, 0xb6, 0x49, 0x64, 0xda, 0x4e, 0x98, 0x7c, 0xe4, 0xc3, 0xb9, 0x18,
+ 0xb8, 0xfa, 0x67, 0x92, 0x8d, 0x7f, 0x1e, 0xca, 0xbe, 0x39, 0x26, 0x46, 0x68, 0x3f, 0x23, 0x6c,
+ 0xdb, 0x97, 0x70, 0x89, 0x0a, 0x06, 0xf6, 0x33, 0x82, 0x5e, 0x04, 0x60, 0xca, 0xc8, 0x7b, 0x4c,
+ 0xdc, 0x7a, 0x81, 0xb9, 0xce, 0xcc, 0x75, 0x2a, 0x40, 0x1b, 0xb0, 0x2c, 0x22, 0xa1, 0xc8, 0x54,
+ 0x62, 0x24, 0xff, 0x39, 0x07, 0x77, 0x2e, 0x9c, 0x7c, 0xe8, 0x7b, 0x6e, 0x48, 0x90, 0x0b, 0x9b,
+ 0x69, 0x1e, 0x1a, 0x69, 0x70, 0x8d, 0xb8, 0x55, 0x3d, 0xb7, 0x5d, 0xd8, 0xa9, 0xec, 0xbe, 0x79,
+ 0x49, 0x0c, 0x9c, 0x41, 0x7f, 0xd3, 0x3f, 0x5b, 0x81, 0xfe, 0x0b, 0xd6, 0x5c, 0xf2, 0x34, 0x32,
+ 0x32, 0x3e, 0xf1, 0x40, 0x5f, 0xa5, 0xe2, 0x7e, 0xe2, 0x97, 0xfc, 0xeb, 0x3c, 0xdc, 0x3c, 0x87,
+ 0x1c, 0xdd, 0x9d, 0xd9, 0xd6, 0x97, 0xbf, 0x55, 0x5e, 0x82, 0x2d, 0xcb, 0x9b, 0xf8, 0x71, 0x44,
+ 0xe6, 0xd7, 0x3a, 0x81, 0xf2, 0x2d, 0x45, 0xff, 0x0b, 0x28, 0xf5, 0x31, 0x9c, 0x86, 0x11, 0x99,
+ 0x18, 0xf6, 0x48, 0x4c, 0x40, 0x4a, 0x34, 0x03, 0xa6, 0xd0, 0x46, 0xa8, 0x05, 0x4b, 0x61, 0x64,
+ 0x46, 0x84, 0xad, 0x7a, 0xed, 0xa2, 0x24, 0x4b, 0x3e, 0xc3, 0xd7, 0x63, 0x40, 0x41, 0x98, 0x63,
+ 0xd1, 0x2b, 0x50, 0x3b, 0x36, 0x6d, 0x27, 0x0e, 0x88, 0x11, 0x10, 0x33, 0xf4, 0x5c, 0xb1, 0x51,
+ 0xab, 0x42, 0x8a, 0x99, 0x10, 0xdd, 0x81, 0x55, 0x33, 0x8a, 0xc8, 0xc4, 0x8f, 0x0c, 0xcb, 0x8b,
+ 0xdd, 0x88, 0x25, 0x4e, 0x01, 0x57, 0x85, 0xb0, 0x45, 0x65, 0xf2, 0x1f, 0x73, 0x70, 0x23, 0xbb,
+ 0xa9, 0xe1, 0x8f, 0x52, 0x87, 0x7e, 0x8c, 0x70, 0xfc, 0x2a, 0x07, 0xeb, 0x73, 0x33, 0x17, 0x01,
+ 0xa8, 0x50, 0xc2, 0xa4, 0x11, 0x88, 0x80, 0x93, 0x2f, 0x0f, 0x38, 0xfa, 0x51, 0x41, 0x75, 0xe5,
+ 0x98, 0xfa, 0xc7, 0x1a, 0x94, 0x12, 0x3c, 0x42, 0xd9, 0x20, 0x12, 0xe1, 0x31, 0x5f, 0x68, 0x6a,
+ 0x0b, 0x85, 0xe6, 0x0a, 0x45, 0xfa, 0x7d, 0xa8, 0x58, 0x01, 0x31, 0x23, 0x62, 0xd0, 0x46, 0xc2,
+ 0x96, 0xa8, 0xb2, 0xbb, 0xb9, 0x50, 0x00, 0xf5, 0xa4, 0xcb, 0x60, 0xe0, 0xe6, 0x54, 0x40, 0xc1,
+ 0xb1, 0x3f, 0x4a, 0xc1, 0xc5, 0xcb, 0xc1, 0xdc, 0x9c, 0x81, 0x3f, 0x48, 0xe2, 0x75, 0x89, 0xc5,
+ 0xeb, 0xce, 0xe5, 0xab, 0xd8, 0x98, 0x09, 0xd5, 0xc3, 0xc5, 0xf6, 0xb2, 0xfa, 0x3d, 0xda, 0xcb,
+ 0xa5, 0x9d, 0x65, 0xe5, 0x07, 0xe9, 0x2c, 0xa5, 0xab, 0x77, 0x96, 0x10, 0xea, 0xf3, 0xa5, 0xcd,
+ 0x08, 0xe3, 0xc9, 0xc4, 0x0c, 0xa6, 0xf5, 0x32, 0xa3, 0x79, 0xf7, 0x0a, 0x6b, 0x35, 0x57, 0x86,
+ 0x06, 0x9c, 0x00, 0x6f, 0xd8, 0x67, 0xca, 0xb3, 0xed, 0x0c, 0x66, 0xda, 0xd9, 0x1d, 0x58, 0x25,
+ 0x41, 0xe0, 0x05, 0xc6, 0x84, 0x84, 0xa1, 0x39, 0x26, 0xf5, 0x0a, 0x0b, 0xa2, 0x2a, 0x13, 0x7e,
+ 0xc4, 0x65, 0xe8, 0x55, 0x90, 0x7c, 0x12, 0x58, 0xc4, 0xa5, 0xf5, 0x60, 0xe2, 0x3b, 0x24, 0x22,
+ 0xf5, 0xea, 0x76, 0x6e, 0x27, 0x87, 0xd7, 0x84, 0xbc, 0x25, 0xc4, 0xe8, 0x13, 0x90, 0xf8, 0xf2,
+ 0x8e, 0x88, 0xef, 0x78, 0xd3, 0x09, 0x2d, 0x03, 0x6b, 0xac, 0x0c, 0x34, 0xbf, 0x51, 0x0a, 0xdf,
+ 0x2a, 0xaf, 0xc2, 0x7f, 0x5f, 0xd8, 0x8a, 0xda, 0x29, 0x0c, 0xaf, 0xf9, 0xb3, 0x82, 0xcd, 0xaf,
+ 0x57, 0x60, 0xe3, 0x6c, 0xbf, 0xd1, 0xdb, 0xb0, 0xe1, 0x13, 0x77, 0x64, 0xbb, 0xe3, 0xd3, 0xbe,
+ 0xc1, 0x4b, 0x57, 0x8e, 0x95, 0xae, 0x1b, 0x42, 0x9b, 0xc0, 0x59, 0x09, 0x43, 0xff, 0x0f, 0x37,
+ 0x6d, 0xd7, 0xb4, 0x22, 0xfb, 0x09, 0x99, 0x87, 0xe5, 0x19, 0x6c, 0x3d, 0x51, 0x2f, 0xe0, 0x5c,
+ 0x2f, 0xb2, 0x8f, 0x6d, 0x32, 0x9a, 0xc7, 0x15, 0x38, 0x2e, 0x51, 0xcf, 0xe2, 0xde, 0x86, 0x8d,
+ 0x30, 0x32, 0x83, 0x68, 0x11, 0x56, 0xe4, 0xb3, 0x14, 0xda, 0x59, 0xd4, 0x7d, 0x90, 0x47, 0xde,
+ 0x89, 0xeb, 0x78, 0x26, 0xf3, 0x8f, 0xad, 0x0a, 0x09, 0xe7, 0x19, 0x78, 0x89, 0xde, 0xca, 0x58,
+ 0xf6, 0xb9, 0xe1, 0x2c, 0x99, 0x0a, 0x5b, 0xa6, 0xef, 0x3b, 0xd3, 0x0b, 0x98, 0x96, 0x19, 0xd3,
+ 0x0b, 0x89, 0xd9, 0x99, 0x34, 0x77, 0xa1, 0x1e, 0x90, 0x23, 0xcf, 0x8b, 0xce, 0x58, 0xf1, 0x15,
+ 0x86, 0xdf, 0x48, 0xf5, 0x0b, 0xc8, 0x30, 0xb6, 0x2c, 0x42, 0x46, 0x8b, 0xab, 0x50, 0xe2, 0xc8,
+ 0x54, 0x3f, 0x8b, 0x3c, 0x84, 0x9d, 0x53, 0x24, 0x67, 0x37, 0x02, 0xf2, 0x79, 0x6c, 0x07, 0x8b,
+ 0x4c, 0x65, 0xc6, 0xf4, 0x72, 0x6a, 0x8f, 0x99, 0x39, 0x16, 0xd6, 0xb3, 0xbc, 0xbb, 0xb0, 0x4e,
+ 0xdb, 0xdf, 0x22, 0x09, 0x30, 0x92, 0xeb, 0x5c, 0x39, 0x8b, 0x79, 0x03, 0x6e, 0x98, 0xd6, 0xe3,
+ 0x45, 0x48, 0x85, 0x41, 0x10, 0xd3, 0xcd, 0x22, 0xde, 0x81, 0x3a, 0xad, 0xa2, 0x23, 0xc3, 0x8b,
+ 0xa3, 0x79, 0x54, 0x95, 0x07, 0x0d, 0xd3, 0xf7, 0xe2, 0x68, 0x16, 0xf8, 0x21, 0xbc, 0xe8, 0x07,
+ 0x84, 0x6f, 0x96, 0x11, 0x46, 0xc4, 0x9f, 0x47, 0xaf, 0x32, 0xf4, 0x2d, 0x3f, 0x20, 0xa2, 0xe1,
+ 0x13, 0x7f, 0x96, 0x61, 0x0f, 0x6e, 0xfb, 0x5e, 0x18, 0x5d, 0x40, 0x51, 0x63, 0x14, 0x9b, 0xd4,
+ 0xea, 0x1c, 0x8e, 0x7d, 0xd8, 0x76, 0x3d, 0xc3, 0x1c, 0xd3, 0x1a, 0x30, 0x22, 0x11, 0xb1, 0xce,
+ 0x08, 0xe2, 0x35, 0x1e, 0x38, 0xae, 0xa7, 0x50, 0xb3, 0xb6, 0xb0, 0x9a, 0xe1, 0x91, 0x7f, 0x93,
+ 0x83, 0x25, 0x56, 0xe7, 0xd1, 0x3a, 0x5c, 0x1b, 0xe8, 0x8a, 0xae, 0x1a, 0xc3, 0xee, 0xa0, 0xaf,
+ 0xb6, 0xb4, 0x7d, 0x4d, 0x6d, 0x4b, 0xcf, 0xa1, 0x0a, 0xac, 0x0c, 0x74, 0x05, 0xeb, 0x6a, 0x5b,
+ 0xca, 0xa1, 0xeb, 0xb0, 0xa6, 0x75, 0x07, 0xba, 0xd2, 0x6d, 0xa9, 0x46, 0xa7, 0xd7, 0xbb, 0x3f,
+ 0xec, 0x4b, 0x79, 0x54, 0x85, 0x52, 0x5f, 0xd1, 0x5b, 0xf7, 0xb4, 0xee, 0x81, 0x54, 0x40, 0xab,
+ 0x50, 0x1e, 0x0c, 0x5b, 0x2d, 0x55, 0x6d, 0xab, 0x6d, 0xa9, 0x88, 0x6e, 0xc1, 0x7a, 0xab, 0xf7,
+ 0x51, 0xbf, 0xa3, 0xea, 0x6a, 0xdb, 0x78, 0xa0, 0xe9, 0xf7, 0x0c, 0x15, 0xe3, 0x1e, 0x1e, 0x48,
+ 0x4b, 0x14, 0xd7, 0xa2, 0x4c, 0x1d, 0xb5, 0x2d, 0x2d, 0x53, 0x9c, 0xae, 0x7d, 0xa4, 0xb6, 0x8d,
+ 0xde, 0x50, 0x97, 0x56, 0xde, 0xeb, 0xfd, 0x4b, 0xe9, 0x5c, 0x7e, 0x4a, 0x46, 0x3b, 0x3e, 0x3f,
+ 0x9f, 0x84, 0xcd, 0x2f, 0xc4, 0xaf, 0x2f, 0x9b, 0x69, 0xef, 0x6f, 0x7e, 0x91, 0x1e, 0x1e, 0xbe,
+ 0x94, 0xff, 0x5d, 0x84, 0x4a, 0xa6, 0x75, 0xa0, 0x07, 0xb0, 0x2a, 0x62, 0x56, 0x34, 0x9e, 0x1c,
+ 0xeb, 0x8b, 0xbb, 0x57, 0x6a, 0x3c, 0x0d, 0x1e, 0xbf, 0xa2, 0x0b, 0x55, 0x83, 0xcc, 0x08, 0xbd,
+ 0x03, 0x05, 0xd3, 0x8f, 0x44, 0x6b, 0xbf, 0xa0, 0x8f, 0x29, 0x7e, 0x34, 0x20, 0x11, 0x4d, 0xc8,
+ 0x10, 0x53, 0x04, 0x05, 0x4e, 0xe3, 0xc9, 0xe5, 0x57, 0xab, 0x87, 0xf1, 0xe4, 0x14, 0x38, 0x8d,
+ 0x27, 0x14, 0x38, 0xf6, 0x3c, 0x71, 0x9b, 0xba, 0x00, 0x78, 0xe0, 0x79, 0xa7, 0xc0, 0xb1, 0xe7,
+ 0xd1, 0xdb, 0xc9, 0xb3, 0xa9, 0xef, 0x93, 0x80, 0xd5, 0x98, 0xca, 0x45, 0x87, 0x82, 0x4f, 0x98,
+ 0x5d, 0x0a, 0x17, 0x38, 0x74, 0x08, 0xb5, 0x13, 0xdb, 0x1d, 0x79, 0x27, 0xa1, 0xc1, 0xcf, 0x1a,
+ 0xa2, 0x7f, 0x37, 0xcf, 0x67, 0x7a, 0xc0, 0xed, 0x87, 0xcc, 0x3c, 0x25, 0x5c, 0x3d, 0xc9, 0x8a,
+ 0xd1, 0x4f, 0xa1, 0x44, 0x93, 0x8c, 0xe6, 0x86, 0xe8, 0xe5, 0x17, 0x1c, 0xfb, 0xe8, 0xfd, 0x9b,
+ 0x66, 0x08, 0x5e, 0xf1, 0x03, 0x42, 0x7f, 0xa0, 0x9f, 0x41, 0x99, 0x65, 0x18, 0xc3, 0x97, 0xaf,
+ 0x8c, 0x2f, 0x51, 0x10, 0xfd, 0x25, 0x7f, 0x0c, 0xd5, 0xec, 0x16, 0xa3, 0x17, 0xe1, 0x16, 0x56,
+ 0xf7, 0x7a, 0x3d, 0xdd, 0x68, 0xf5, 0xba, 0xfb, 0xda, 0xc1, 0x62, 0x92, 0xb4, 0xd5, 0x7d, 0x65,
+ 0xd8, 0xd1, 0xa5, 0x1c, 0x02, 0x58, 0x56, 0x3a, 0x0f, 0x94, 0x87, 0x03, 0x29, 0x8f, 0xca, 0xb0,
+ 0xd4, 0x55, 0x0f, 0x55, 0x2c, 0x15, 0xe4, 0xbf, 0xe5, 0xa1, 0x94, 0xe4, 0x9e, 0xfc, 0x75, 0x1e,
+ 0xe0, 0xf4, 0x3a, 0x80, 0x9e, 0x87, 0x9b, 0x2c, 0x85, 0x8c, 0x73, 0x32, 0xb0, 0xaf, 0x76, 0xdb,
+ 0x34, 0xbd, 0x72, 0x34, 0x69, 0xb4, 0xae, 0xd2, 0xd2, 0xb5, 0x43, 0x95, 0xa7, 0x5e, 0xb7, 0xa7,
+ 0x73, 0xc3, 0x42, 0x36, 0x55, 0x8b, 0xe8, 0x26, 0x5c, 0x6f, 0xf7, 0x1e, 0x74, 0x3b, 0x3d, 0x85,
+ 0x22, 0x0d, 0x46, 0xaf, 0xd2, 0xb4, 0xbb, 0x01, 0x92, 0xd2, 0xef, 0x77, 0x1e, 0x66, 0xa5, 0x2c,
+ 0xfd, 0xb8, 0x83, 0xf4, 0x33, 0x2b, 0xb3, 0x59, 0x5c, 0xa2, 0xee, 0xa7, 0x43, 0x43, 0x2c, 0x04,
+ 0x56, 0x3f, 0x1e, 0x6a, 0x58, 0x6d, 0x4b, 0x65, 0xea, 0xf1, 0xbe, 0xa2, 0xd1, 0x3c, 0x06, 0xea,
+ 0xb1, 0xd2, 0xba, 0xaf, 0xb6, 0xa5, 0xca, 0x6c, 0x4a, 0x57, 0xd1, 0x26, 0x6c, 0xe0, 0x61, 0xb7,
+ 0xcb, 0xbe, 0x8b, 0x55, 0x23, 0x71, 0x58, 0xed, 0x4b, 0xab, 0x74, 0x01, 0x52, 0x5d, 0x6f, 0xa0,
+ 0x67, 0x95, 0x35, 0x5a, 0x99, 0xba, 0x3d, 0x43, 0x39, 0x50, 0xbb, 0xba, 0xd1, 0x56, 0x75, 0xb5,
+ 0x45, 0x3d, 0x5c, 0x93, 0x87, 0xb0, 0xde, 0xa2, 0x8b, 0xe9, 0xfc, 0xb0, 0x37, 0xfb, 0xbf, 0xe6,
+ 0xa0, 0x92, 0xc9, 0x4d, 0xf4, 0x01, 0x14, 0xa3, 0xa9, 0x4f, 0x44, 0x7d, 0xf8, 0x9f, 0x2b, 0x25,
+ 0x74, 0x43, 0x9f, 0xfa, 0x04, 0x33, 0x1c, 0xda, 0x84, 0x12, 0x79, 0x6a, 0x39, 0xf1, 0x88, 0x84,
+ 0xf5, 0xfc, 0x76, 0x61, 0xa7, 0x8c, 0xd3, 0x31, 0x7a, 0x1d, 0x10, 0xfb, 0x1d, 0xd2, 0x13, 0x8f,
+ 0x6f, 0x5a, 0x8f, 0xcd, 0x31, 0x09, 0xeb, 0x05, 0x66, 0x75, 0x2d, 0xd5, 0xf4, 0x85, 0x42, 0x7e,
+ 0x0b, 0x8a, 0x94, 0x98, 0x6e, 0xa1, 0xfe, 0xb0, 0x3f, 0x1f, 0x27, 0x25, 0x28, 0xb6, 0xb5, 0x01,
+ 0x8d, 0xc0, 0x0a, 0xac, 0x0c, 0xfb, 0x07, 0x58, 0x69, 0xab, 0x52, 0x5e, 0xfe, 0x55, 0x0e, 0x2a,
+ 0x99, 0x92, 0x41, 0xe7, 0x13, 0x12, 0x2b, 0x0e, 0xec, 0x68, 0xca, 0x7c, 0x2a, 0xe1, 0x74, 0x8c,
+ 0xea, 0xb0, 0x32, 0xb1, 0x5d, 0x7b, 0x62, 0x3a, 0xec, 0xc0, 0x55, 0xc2, 0xc9, 0x70, 0xc6, 0x8b,
+ 0xc2, 0x95, 0xbc, 0x28, 0x9e, 0xe7, 0xc5, 0x2a, 0x54, 0x32, 0x95, 0x48, 0xfe, 0x67, 0x0e, 0x6a,
+ 0xb3, 0xd5, 0x85, 0x1e, 0x82, 0x4f, 0xec, 0xe8, 0x91, 0xe1, 0xb1, 0x4b, 0x93, 0xe9, 0x88, 0x79,
+ 0x56, 0xa9, 0xb0, 0x27, 0x64, 0x68, 0x0b, 0x2a, 0xcc, 0x48, 0xd4, 0x1d, 0x3e, 0x5f, 0xa0, 0x22,
+ 0x51, 0x43, 0x6e, 0x03, 0x58, 0x66, 0x44, 0xc6, 0x5e, 0x60, 0xa7, 0x93, 0xce, 0x48, 0xa8, 0x3e,
+ 0x24, 0x4f, 0x48, 0x60, 0x47, 0x76, 0x3a, 0xdd, 0x8c, 0x64, 0xc6, 0xe5, 0xa5, 0x39, 0x97, 0x5f,
+ 0x83, 0x6b, 0x59, 0x97, 0xd9, 0x89, 0xac, 0xbe, 0xcc, 0x8c, 0xa4, 0x8c, 0xc7, 0x4c, 0x2e, 0x7f,
+ 0x55, 0x80, 0xf5, 0x33, 0xab, 0x1e, 0x7a, 0x04, 0x6b, 0x96, 0x63, 0x86, 0xa1, 0x7d, 0x6c, 0x5b,
+ 0xec, 0x36, 0xc2, 0x2f, 0xb9, 0xb5, 0xdd, 0x0f, 0xbe, 0x63, 0xfd, 0x6c, 0xb4, 0x66, 0x68, 0xf0,
+ 0x3c, 0xed, 0x85, 0x51, 0x78, 0xa6, 0x33, 0x85, 0x73, 0x9c, 0xf9, 0x43, 0x0e, 0x6a, 0xb3, 0x1f,
+ 0x43, 0xb7, 0x61, 0xb3, 0xd5, 0x51, 0x06, 0x03, 0x6d, 0x5f, 0x6b, 0x29, 0xba, 0xd6, 0xeb, 0xce,
+ 0x05, 0x26, 0x6d, 0xf4, 0x58, 0xd3, 0xb5, 0x96, 0xd2, 0xe1, 0x15, 0x6c, 0xa0, 0xb6, 0x86, 0x58,
+ 0xd3, 0x1f, 0x4a, 0x79, 0x54, 0x03, 0x68, 0xab, 0xfb, 0x5a, 0x57, 0xa3, 0x38, 0xa9, 0x40, 0x4b,
+ 0x49, 0x1b, 0x6b, 0xb4, 0x62, 0x16, 0x91, 0x04, 0xd5, 0x7d, 0x55, 0xd1, 0x87, 0xac, 0x58, 0xb4,
+ 0xee, 0x4b, 0x4b, 0x54, 0x32, 0x50, 0xf1, 0xa1, 0xd6, 0x12, 0x92, 0x65, 0x1a, 0xf4, 0x7a, 0xaf,
+ 0xd7, 0x91, 0x56, 0xd0, 0x35, 0x58, 0x1d, 0xf6, 0xdb, 0xb4, 0x7c, 0xe2, 0x5e, 0xa7, 0x33, 0xec,
+ 0x4b, 0x25, 0x4a, 0xc6, 0x45, 0x52, 0x59, 0xfe, 0x4b, 0x0e, 0x4a, 0x49, 0xa1, 0x47, 0xbf, 0x84,
+ 0x0d, 0xc7, 0x76, 0xe3, 0xa7, 0x06, 0x79, 0x4a, 0x2c, 0x7e, 0x02, 0xcb, 0x9c, 0x02, 0x2e, 0x6c,
+ 0x84, 0x09, 0x87, 0xe8, 0xfd, 0xd7, 0x19, 0xcf, 0xac, 0x10, 0x99, 0x50, 0x4f, 0xba, 0xe2, 0xc2,
+ 0x07, 0xf2, 0xdf, 0xf1, 0x03, 0xeb, 0x82, 0x69, 0x56, 0x2c, 0xff, 0x3d, 0x0f, 0xb5, 0xb9, 0xaf,
+ 0x6e, 0x01, 0x38, 0x9e, 0x65, 0x3a, 0x74, 0x0b, 0x1f, 0xf1, 0xe2, 0x77, 0xef, 0x39, 0x5c, 0x66,
+ 0xb2, 0xbe, 0x19, 0x3d, 0x42, 0x6d, 0x80, 0xb1, 0x15, 0x1a, 0xde, 0x11, 0x3d, 0x27, 0x89, 0x89,
+ 0xdc, 0xb9, 0xe0, 0xb8, 0x60, 0x85, 0x3d, 0x66, 0x4a, 0x59, 0xc6, 0xc9, 0x80, 0x1e, 0xcf, 0x4d,
+ 0xc7, 0xf1, 0x4e, 0xc8, 0xc8, 0x60, 0xc7, 0xf9, 0x30, 0x34, 0x2c, 0x2f, 0x29, 0x0b, 0x4b, 0xf8,
+ 0xba, 0x50, 0x0e, 0xb8, 0xae, 0x45, 0x55, 0xe8, 0x10, 0x2a, 0xb6, 0x1b, 0x91, 0xc0, 0x0f, 0x48,
+ 0xf2, 0xfc, 0x53, 0xdb, 0x7d, 0xfb, 0xaa, 0x6b, 0xd0, 0xd0, 0x4e, 0xb1, 0x38, 0x4b, 0x24, 0xab,
+ 0x50, 0xc9, 0xe8, 0x68, 0x17, 0xd1, 0xba, 0xba, 0x8a, 0xfb, 0x58, 0xd5, 0x55, 0x3c, 0x17, 0x85,
+ 0x65, 0x58, 0x1a, 0xdc, 0x53, 0x3b, 0x34, 0x04, 0x6b, 0x00, 0xfd, 0xde, 0x03, 0x15, 0xf3, 0x71,
+ 0x7e, 0xaf, 0x0a, 0x40, 0xd8, 0x1b, 0xbe, 0x79, 0xe4, 0x10, 0xf9, 0x04, 0xca, 0xa9, 0xeb, 0xe8,
+ 0x79, 0x58, 0x3e, 0x8a, 0xad, 0xc7, 0x24, 0x79, 0x3c, 0x63, 0xaf, 0xe3, 0x42, 0x44, 0x95, 0x99,
+ 0xc5, 0x4c, 0x94, 0x5c, 0x84, 0xde, 0x80, 0x6b, 0x63, 0xe2, 0x12, 0xfe, 0xca, 0x60, 0xb8, 0xf1,
+ 0xe4, 0x88, 0x04, 0xfc, 0x3a, 0xca, 0xed, 0xa4, 0x53, 0x6d, 0x97, 0x29, 0xe5, 0xdf, 0x16, 0xe0,
+ 0xfa, 0x19, 0x4f, 0x26, 0x48, 0x82, 0x82, 0xe9, 0x24, 0x45, 0x90, 0xfe, 0x44, 0x9f, 0x42, 0x75,
+ 0x1c, 0x78, 0xb1, 0x6f, 0x38, 0xe6, 0x11, 0x71, 0x78, 0x46, 0x57, 0x76, 0xef, 0x7e, 0xa7, 0x97,
+ 0x98, 0xc6, 0x01, 0x65, 0xe8, 0x50, 0x02, 0x5c, 0x19, 0xa7, 0xbf, 0x43, 0x74, 0x03, 0x96, 0x9e,
+ 0x79, 0x6e, 0x5a, 0x02, 0xf8, 0x00, 0xbd, 0x00, 0xe5, 0xe4, 0x7a, 0x91, 0x14, 0xcb, 0x53, 0x01,
+ 0xbd, 0x49, 0xa7, 0x97, 0x0f, 0xda, 0x45, 0x0d, 0x3f, 0x20, 0xc7, 0xf6, 0xd3, 0xb4, 0x72, 0xde,
+ 0x48, 0xb4, 0x5d, 0x73, 0x42, 0xfa, 0x42, 0xb7, 0xf9, 0xfb, 0x1c, 0xc0, 0xe9, 0x2c, 0xd0, 0x2f,
+ 0x60, 0x59, 0xf8, 0xc3, 0x5f, 0xfa, 0xda, 0xdf, 0xd7, 0x9f, 0x06, 0xf7, 0x44, 0x75, 0xa3, 0x60,
+ 0x8a, 0x05, 0xe7, 0xe6, 0xbb, 0x50, 0xc9, 0x88, 0xe9, 0xa2, 0x3e, 0x26, 0x53, 0xf1, 0xc2, 0x47,
+ 0x7f, 0x52, 0xbf, 0x9f, 0x98, 0x4e, 0x4c, 0xc4, 0xbb, 0x1d, 0x1f, 0xbc, 0x97, 0xbf, 0x9b, 0xdb,
+ 0x7b, 0x0c, 0x2f, 0x58, 0xde, 0xe4, 0xdc, 0xd9, 0xec, 0x95, 0xd3, 0x97, 0xcb, 0x4f, 0x3e, 0x14,
+ 0x46, 0x63, 0xcf, 0x31, 0xdd, 0x71, 0xc3, 0x0b, 0xc6, 0xcd, 0x31, 0x71, 0xd9, 0xfb, 0x53, 0xf3,
+ 0xf4, 0xdc, 0xb1, 0xf8, 0x87, 0xd7, 0xfb, 0xc9, 0xef, 0xa3, 0x65, 0x66, 0xfc, 0xd6, 0x7f, 0x02,
+ 0x00, 0x00, 0xff, 0xff, 0x64, 0xd5, 0x44, 0x1d, 0x1c, 0x1b, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/redis/v1/cloud_redis.pb.go b/googleapis/cloud/redis/v1/cloud_redis.pb.go
index 7d26f31..a3e425e 100644
--- a/googleapis/cloud/redis/v1/cloud_redis.pb.go
+++ b/googleapis/cloud/redis/v1/cloud_redis.pb.go
@@ -218,8 +218,9 @@
// If not provided, latest supported version will be used. Currently, the
// supported values are:
//
- // * `REDIS_4_0` for Redis 4.0 compatibility (default)
// * `REDIS_3_2` for Redis 3.2 compatibility
+ // * `REDIS_4_0` for Redis 4.0 compatibility (default)
+ // * `REDIS_5_0` for Redis 5.0 compatibility
RedisVersion string `protobuf:"bytes,7,opt,name=redis_version,json=redisVersion,proto3" json:"redis_version,omitempty"`
// Optional. The CIDR range of internal addresses that are reserved for this
// instance. If not provided, the service will choose an unused /29 block,
@@ -248,16 +249,22 @@
// http://redis.io/topics/config. Currently, the only supported parameters
// are:
//
- // Redis 3.2 and above:
+ // Redis version 3.2 and newer:
//
// * maxmemory-policy
// * notify-keyspace-events
//
- // Redis 4.0 and above:
+ // Redis version 4.0 and newer:
//
// * activedefrag
- // * lfu-log-factor
// * lfu-decay-time
+ // * lfu-log-factor
+ // * maxmemory-gb
+ //
+ // Redis version 5.0 and newer:
+ //
+ // * stream-node-max-bytes
+ // * stream-node-max-entries
RedisConfigs map[string]string `protobuf:"bytes,16,rep,name=redis_configs,json=redisConfigs,proto3" json:"redis_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Required. The service tier of the instance.
Tier Instance_Tier `protobuf:"varint,17,opt,name=tier,proto3,enum=google.cloud.redis.v1.Instance_Tier" json:"tier,omitempty"`
diff --git a/googleapis/cloud/redis/v1beta1/cloud_redis.pb.go b/googleapis/cloud/redis/v1beta1/cloud_redis.pb.go
index 79cb4f2..809a13a 100644
--- a/googleapis/cloud/redis/v1beta1/cloud_redis.pb.go
+++ b/googleapis/cloud/redis/v1beta1/cloud_redis.pb.go
@@ -218,8 +218,9 @@
// If not provided, latest supported version will be used. Currently, the
// supported values are:
//
- // * `REDIS_4_0` for Redis 4.0 compatibility (default)
// * `REDIS_3_2` for Redis 3.2 compatibility
+ // * `REDIS_4_0` for Redis 4.0 compatibility (default)
+ // * `REDIS_5_0` for Redis 5.0 compatibility
RedisVersion string `protobuf:"bytes,7,opt,name=redis_version,json=redisVersion,proto3" json:"redis_version,omitempty"`
// Optional. The CIDR range of internal addresses that are reserved for this
// instance. If not provided, the service will choose an unused /29 block,
@@ -248,16 +249,22 @@
// http://redis.io/topics/config. Currently, the only supported parameters
// are:
//
- // Redis 3.2 and above:
+ // Redis version 3.2 and newer:
//
// * maxmemory-policy
// * notify-keyspace-events
//
- // Redis 4.0 and above:
+ // Redis version 4.0 and newer:
//
// * activedefrag
- // * lfu-log-factor
// * lfu-decay-time
+ // * lfu-log-factor
+ // * maxmemory-gb
+ //
+ // Redis version 5.0 and newer:
+ //
+ // * stream-node-max-bytes
+ // * stream-node-max-entries
RedisConfigs map[string]string `protobuf:"bytes,16,rep,name=redis_configs,json=redisConfigs,proto3" json:"redis_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Required. The service tier of the instance.
Tier Instance_Tier `protobuf:"varint,17,opt,name=tier,proto3,enum=google.cloud.redis.v1beta1.Instance_Tier" json:"tier,omitempty"`
diff --git a/googleapis/home/graph/v1/device.pb.go b/googleapis/home/graph/v1/device.pb.go
index 06d88ef..84c0126 100644
--- a/googleapis/home/graph/v1/device.pb.go
+++ b/googleapis/home/graph/v1/device.pb.go
@@ -22,49 +22,50 @@
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
-// Third-party partner's device definition.
+// Third-party device definition.
type Device struct {
- // Third-party partner's device ID.
+ // Third-party device ID.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- // Hardware type of the device (e.g. light, outlet, etc).
+ // Hardware type of the device.
+ // See [device
+ // types](https://developers.google.com/assistant/smarthome/guides).
Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
// Traits supported by the device.
+ // See [device
+ // traits](https://developers.google.com/assistant/smarthome/traits).
Traits []string `protobuf:"bytes,3,rep,name=traits,proto3" json:"traits,omitempty"`
- // Name of the device given by the third party. This includes names given to
- // the device via third party device manufacturer's app, model names for the
- // device, etc.
+ // Names given to this device by your smart home Action.
Name *DeviceNames `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
- // Indicates whether the state of this device is being reported to Google
- // through ReportStateAndNotification call.
+ // Indicates whether your smart home Action will report state of this device
+ // to Google via [ReportStateAndNotification][].
WillReportState bool `protobuf:"varint,5,opt,name=will_report_state,json=willReportState,proto3" json:"will_report_state,omitempty"`
- // If the third-party partner's cloud configuration includes placing devices
- // in rooms, the name of the room can be provided here.
+ // Suggested name for the room where this device is installed.
+ // Google attempts to use this value during user setup.
RoomHint string `protobuf:"bytes,6,opt,name=room_hint,json=roomHint,proto3" json:"room_hint,omitempty"`
- // As in roomHint, for structures that users set up in the partner's system.
+ // Suggested name for the structure where this device is installed.
+ // Google attempts to use this value during user setup.
StructureHint string `protobuf:"bytes,7,opt,name=structure_hint,json=structureHint,proto3" json:"structure_hint,omitempty"`
// Device manufacturer, model, hardware version, and software version.
DeviceInfo *DeviceInfo `protobuf:"bytes,8,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
// Attributes for the traits supported by the device.
Attributes *_struct.Struct `protobuf:"bytes,9,opt,name=attributes,proto3" json:"attributes,omitempty"`
- // Custom JSON data provided by the manufacturer and attached to QUERY and
- // EXECUTE requests in AoG.
+ // Custom device attributes stored in Home Graph and provided to your
+ // smart home Action in each
+ // [QUERY](https://developers.google.com/assistant/smarthome/reference/intent/query)
+ // and
+ // [EXECUTE](https://developers.google.com/assistant/smarthome/reference/intent/execute)
+ // intent.
CustomData *_struct.Struct `protobuf:"bytes,10,opt,name=custom_data,json=customData,proto3" json:"custom_data,omitempty"`
- // IDs of other devices associated with this device. This is used to
- // represent a device group (e.g. bonded zone) or "facets" synced
- // through different flows (e.g. Google Nest Hub Max with a Nest Camera).
- //
- // This may also be used to pass in alternate IDs used to identify a cloud
- // synced device for local execution (i.e. local verification). If used for
- // local verification, this field is synced from the cloud.
+ // Alternate IDs associated with this device.
+ // This is used to identify cloud synced devices enabled for
+ // [local
+ // execution](https://developers.google.com/assistant/smarthome/concepts/local).
OtherDeviceIds []*AgentOtherDeviceId `protobuf:"bytes,11,rep,name=other_device_ids,json=otherDeviceIds,proto3" json:"other_device_ids,omitempty"`
- // Indicates whether the device is capable of sending notifications. This
- // field will be set by the agent (partner) on an incoming SYNC. If a device
- // is not capable of generating notifications, the partner should set this
- // flag to false. If a partner is not capable of calling
- // ReportStateAndNotification to send notifications to Google, the partner
- // should set this flag to false. If there is a user setting in the partner
- // app to enable notifications and it is turned off, the partner should set
- // this flag to false.
+ // Indicates whether your smart home Action will report notifications
+ // to Google for this device via [ReportStateAndNotification][].
+ //
+ // If your smart home Action enables users to control device notifications,
+ // you should update this field and call [RequestSyncDevices][].
NotificationSupportedByAgent bool `protobuf:"varint,12,opt,name=notification_supported_by_agent,json=notificationSupportedByAgent,proto3" json:"notification_supported_by_agent,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -180,14 +181,14 @@
return false
}
-// Different names for the device.
+// Identifiers used to describe the device.
type DeviceNames struct {
// Primary name of the device, generally provided by the user.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Additional names provided by the user for the device.
Nicknames []string `protobuf:"bytes,2,rep,name=nicknames,proto3" json:"nicknames,omitempty"`
- // List of names provided by the partner rather than the user, often
- // manufacturer names, SKUs, etc.
+ // List of names provided by the manufacturer rather than the user, such as
+ // serial numbers, SKUs, etc.
DefaultNames []string `protobuf:"bytes,3,rep,name=default_names,json=defaultNames,proto3" json:"default_names,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -308,11 +309,11 @@
return ""
}
-// Identifies a device in the third party or first party system.
+// Alternate third-party device ID.
type AgentOtherDeviceId struct {
- // The agent's ID. Generally it is the agent's AoG project id.
+ // Project ID for your smart home Action.
AgentId string `protobuf:"bytes,1,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
- // Device ID defined by the agent. The device_id must be unique.
+ // Unique third-party device ID.
DeviceId string `protobuf:"bytes,2,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
diff --git a/googleapis/home/graph/v1/homegraph.pb.go b/googleapis/home/graph/v1/homegraph.pb.go
index 3f96efd..1acd4d9 100644
--- a/googleapis/home/graph/v1/homegraph.pb.go
+++ b/googleapis/home/graph/v1/homegraph.pb.go
@@ -32,8 +32,7 @@
// [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices)
// call.
type RequestSyncDevicesRequest struct {
- // Required. Third-party user ID issued by agent's third-party identity
- // provider.
+ // Required. Third-party user ID.
AgentUserId string `protobuf:"bytes,1,opt,name=agent_user_id,json=agentUserId,proto3" json:"agent_user_id,omitempty"`
// Optional. If set, the request will be added to a queue and a response will
// be returned immediately. The queue allows for de-duplication of
@@ -85,7 +84,9 @@
// Response type for the
// [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices)
-// call. Intentionally empty upon success. An HTTP response code is returned
+// call.
+//
+// Intentionally empty upon success. An HTTP response code is returned
// with more details upon failure.
type RequestSyncDevicesResponse struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -120,11 +121,11 @@
// Request type for the
// [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification)
-// call. It may include States, Notifications, or both. This request uses
-// globally unique flattened state names instead of namespaces based on traits
-// to align with the existing QUERY and EXECUTE APIs implemented by 90+ Smart
-// Home partners. States and notifications are defined per `device_id` (for example, "123"
-// and "456" in the following example). # Example
+// call. It may include states, notifications, or both. States and notifications
+// are defined per `device_id` (for example, "123" and "456" in the following
+// example).
+// # Example
+//
// ```json
// {
// "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
@@ -153,16 +154,7 @@
AgentUserId string `protobuf:"bytes,2,opt,name=agent_user_id,json=agentUserId,proto3" json:"agent_user_id,omitempty"`
// Token to maintain state in the follow up notification response.
FollowUpToken string `protobuf:"bytes,5,opt,name=follow_up_token,json=followUpToken,proto3" json:"follow_up_token,omitempty"`
- // Required. State of devices to update and notification metadata for devices. For
- // example, if a user turns a light on manually, a state update should be
- // sent so that the information is always the current status of the device.
- // Notifications are independent from the state and its piece of the payload
- // should contain everything necessary to notify the user. Although it may be
- // related to a state change, it does not need to be. For example, if a
- // device can turn on/off and change temperature, the states reported would
- // include both "on" and "70 degrees" but the 3p may choose not to send any
- // notification for that, or to only say that the "the room is heating up",
- // keeping state and notification independent.
+ // Required. State of devices to update and notification metadata for devices.
Payload *StateAndNotificationPayload `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -315,9 +307,13 @@
// The states and notifications specific to a device.
type ReportStateAndNotificationDevice struct {
- // States of devices to update.
+ // States of devices to update. See the **Device STATES** section
+ // of the individual trait [reference
+ // guides](https://developers.google.com/assistant/smarthome/traits).
States *_struct.Struct `protobuf:"bytes,1,opt,name=states,proto3" json:"states,omitempty"`
- // Notifications metadata for devices.
+ // Notifications metadata for devices. See the **Device NOTIFICATIONS**
+ // section of the individual trait [reference
+ // guides](https://developers.google.com/assistant/smarthome/traits).
Notifications *_struct.Struct `protobuf:"bytes,2,opt,name=notifications,proto3" json:"notifications,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -416,17 +412,13 @@
}
// Request type for the
-// [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call. This should
-// be the same format as the Actions on Google `action.devices.QUERY`
-// [request](/actions/smarthome/create-app#actiondevicesquery) with the
-// exception of the extra `agent_user_id` and no `intent` and `customData`
-// fields.
+// [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call.
type QueryRequest struct {
// Request ID used for debugging.
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// Required. Third-party user ID.
AgentUserId string `protobuf:"bytes,2,opt,name=agent_user_id,json=agentUserId,proto3" json:"agent_user_id,omitempty"`
- // Required. Inputs containing third-party partner's device IDs for which to
+ // Required. Inputs containing third-party device IDs for which to
// get the device states.
Inputs []*QueryRequestInput `protobuf:"bytes,3,rep,name=inputs,proto3" json:"inputs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@@ -482,7 +474,7 @@
// Device ID inputs to [QueryRequest][google.home.graph.v1.QueryRequest].
type QueryRequestInput struct {
- // Payload containing third-party partner's device IDs.
+ // Payload containing third-party device IDs.
Payload *QueryRequestPayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -523,7 +515,7 @@
// Payload containing device IDs.
type QueryRequestPayload struct {
- // Third-party partner's device IDs for which to get the device states.
+ // Third-party device IDs for which to get the device states.
Devices []*AgentDeviceId `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -562,9 +554,9 @@
return nil
}
-// Third-party partner's device ID for one device.
+// Third-party device ID for one device.
type AgentDeviceId struct {
- // Third-party partner's device ID.
+ // Third-party device ID.
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@@ -604,9 +596,10 @@
}
// Response type for the
-// [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call. This should
-// follow the same format as the Actions on Google `action.devices.QUERY`
-// [response](/actions/smarthome/create-app#actiondevicesquery).
+// [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call.
+// This should follow the same format as the Google smart home
+// `action.devices.QUERY`
+// [response](https://developers.google.com/assistant/smarthome/reference/intent/query).
// # Example
//
// ```json
@@ -723,10 +716,7 @@
}
// Request type for the [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync)
-// call. This should follow the same format as the Actions on Google
-// `action.devices.SYNC`
-// [request](/actions/smarthome/create-app#actiondevicessync) with the exception
-// of the extra `agent_user_id` and no `intent` field.
+// call.
type SyncRequest struct {
// Request ID used for debugging.
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
@@ -777,9 +767,10 @@
}
// Response type for the
-// [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) call. This should
-// follow the same format as the Actions on Google `action.devices.SYNC`
-// [response](/actions/smarthome/create-app#actiondevicessync).
+// [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) call.
+// This should follow the same format as the Google smart home
+// `action.devices.SYNC`
+// [response](https://developers.google.com/assistant/smarthome/reference/intent/sync).
// # Example
//
// ```json
@@ -1018,66 +1009,59 @@
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type HomeGraphApiServiceClient interface {
- // Requests a `SYNC` call from Google to a 3p partner's home control agent for
- // a user.
+ // Requests Google to send an `action.devices.SYNC`
+ // [intent](https://developers.google.com/assistant/smarthome/reference/intent/sync)
+ // to your smart home Action to update device metadata for the given user.
//
//
- // The third-party user's identity is passed in as `agent_user_id`
- // (see [RequestSyncDevicesRequest][google.home.graph.v1.RequestSyncDevicesRequest]) and forwarded back to the agent.
- // The agent is identified by the API key or JWT signed by the partner's
- // service account.
+ // The third-party user's identity is passed via the `agent_user_id`
+ // (see [RequestSyncDevicesRequest][google.home.graph.v1.RequestSyncDevicesRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
RequestSyncDevices(ctx context.Context, in *RequestSyncDevicesRequest, opts ...grpc.CallOption) (*RequestSyncDevicesResponse, error)
- // Reports device state and optionally sends device notifications. Called by
- // an agent when the device state of a third-party changes or the agent wants
- // to send a notification about the device. See
- // [Implement Report State](/actions/smarthome/report-state) for more
- // information.
- // This method updates a predefined set of states for a device, which all
- // devices have according to their prescribed traits (for example, a light
- // will have the [OnOff](/actions/smarthome/traits/onoff) trait that reports
- // the state `on` as a boolean value).
- // A new state may not be created and an INVALID_ARGUMENT code will be thrown
- // if so. It also optionally takes in a list of Notifications that may be
- // created, which are associated to this state change.
+ // Reports device state and optionally sends device notifications.
+ // Called by your smart home Action when the state of a third-party device
+ // changes or you need to send a notification about the device.
+ // See [Implement Report
+ // State](https://developers.google.com/assistant/smarthome/develop/report-state)
+ // for more information.
//
- // The third-party user's identity is passed in as `agent_user_id`.
- // The agent is identified by the JWT signed by the partner's service account.
+ // This method updates the device state according to its declared
+ // [traits](https://developers.google.com/assistant/smarthome/concepts/devices-traits).
+ // Publishing a new state value outside of these traits will result in an
+ // `INVALID_ARGUMENT` error response.
+ //
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [ReportStateAndNotificationRequest][google.home.graph.v1.ReportStateAndNotificationRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
ReportStateAndNotification(ctx context.Context, in *ReportStateAndNotificationRequest, opts ...grpc.CallOption) (*ReportStateAndNotificationResponse, error)
- // Unlinks an agent user from Google. As a result, all data related to this
- // user will be deleted.
+ // Unlinks the given third-party user from your smart home Action.
+ // All data related to this user will be deleted.
//
- // Here is how the agent user is created in Google:
+ // For more details on how users link their accounts, see
+ // [fulfillment and
+ // authentication](https://developers.google.com/assistant/smarthome/concepts/fulfillment-authentication).
//
- // 1. When a user opens their Google Home App, they can begin linking a 3p
- // partner.
- // 2. User is guided through the OAuth process.
- // 3. After entering the 3p credentials, Google gets the 3p OAuth token and
- // uses it to make a Sync call to the 3p partner and gets back all of the
- // user's data, including `agent_user_id` and devices.
- // 4. Google creates the agent user and stores a mapping from the
- // `agent_user_id` -> Google ID mapping. Google also
- // stores all of the user's devices under that Google ID.
- //
- // The mapping from `agent_user_id` to Google ID is many to many, since one
- // Google user can have multiple 3p accounts, and multiple Google users can
- // map to one `agent_user_id` (e.g., a husband and wife share one Nest account
- // username/password).
- //
- // The third-party user's identity is passed in as `agent_user_id`.
- // The agent is identified by the JWT signed by the partner's service account.
- //
- // Note: Special characters (except "/") in `agent_user_id` must be
- // URL-encoded.
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [DeleteAgentUserRequest][google.home.graph.v1.DeleteAgentUserRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
DeleteAgentUser(ctx context.Context, in *DeleteAgentUserRequest, opts ...grpc.CallOption) (*empty.Empty, error)
- // Gets the device states for the devices in [QueryRequest][google.home.graph.v1.QueryRequest].
- // The third-party user's identity is passed in as `agent_user_id`. The agent
- // is identified by the JWT signed by the third-party partner's service
- // account.
+ // Gets the current states in Home Graph for the given set of the third-party
+ // user's devices.
+ //
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [QueryRequest][google.home.graph.v1.QueryRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error)
// Gets all the devices associated with the given third-party user.
- // The third-party user's identity is passed in as `agent_user_id`. The agent
- // is identified by the JWT signed by the third-party partner's service
- // account.
+ //
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [SyncRequest][google.home.graph.v1.SyncRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
Sync(ctx context.Context, in *SyncRequest, opts ...grpc.CallOption) (*SyncResponse, error)
}
@@ -1136,66 +1120,59 @@
// HomeGraphApiServiceServer is the server API for HomeGraphApiService service.
type HomeGraphApiServiceServer interface {
- // Requests a `SYNC` call from Google to a 3p partner's home control agent for
- // a user.
+ // Requests Google to send an `action.devices.SYNC`
+ // [intent](https://developers.google.com/assistant/smarthome/reference/intent/sync)
+ // to your smart home Action to update device metadata for the given user.
//
//
- // The third-party user's identity is passed in as `agent_user_id`
- // (see [RequestSyncDevicesRequest][google.home.graph.v1.RequestSyncDevicesRequest]) and forwarded back to the agent.
- // The agent is identified by the API key or JWT signed by the partner's
- // service account.
+ // The third-party user's identity is passed via the `agent_user_id`
+ // (see [RequestSyncDevicesRequest][google.home.graph.v1.RequestSyncDevicesRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
RequestSyncDevices(context.Context, *RequestSyncDevicesRequest) (*RequestSyncDevicesResponse, error)
- // Reports device state and optionally sends device notifications. Called by
- // an agent when the device state of a third-party changes or the agent wants
- // to send a notification about the device. See
- // [Implement Report State](/actions/smarthome/report-state) for more
- // information.
- // This method updates a predefined set of states for a device, which all
- // devices have according to their prescribed traits (for example, a light
- // will have the [OnOff](/actions/smarthome/traits/onoff) trait that reports
- // the state `on` as a boolean value).
- // A new state may not be created and an INVALID_ARGUMENT code will be thrown
- // if so. It also optionally takes in a list of Notifications that may be
- // created, which are associated to this state change.
+ // Reports device state and optionally sends device notifications.
+ // Called by your smart home Action when the state of a third-party device
+ // changes or you need to send a notification about the device.
+ // See [Implement Report
+ // State](https://developers.google.com/assistant/smarthome/develop/report-state)
+ // for more information.
//
- // The third-party user's identity is passed in as `agent_user_id`.
- // The agent is identified by the JWT signed by the partner's service account.
+ // This method updates the device state according to its declared
+ // [traits](https://developers.google.com/assistant/smarthome/concepts/devices-traits).
+ // Publishing a new state value outside of these traits will result in an
+ // `INVALID_ARGUMENT` error response.
+ //
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [ReportStateAndNotificationRequest][google.home.graph.v1.ReportStateAndNotificationRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
ReportStateAndNotification(context.Context, *ReportStateAndNotificationRequest) (*ReportStateAndNotificationResponse, error)
- // Unlinks an agent user from Google. As a result, all data related to this
- // user will be deleted.
+ // Unlinks the given third-party user from your smart home Action.
+ // All data related to this user will be deleted.
//
- // Here is how the agent user is created in Google:
+ // For more details on how users link their accounts, see
+ // [fulfillment and
+ // authentication](https://developers.google.com/assistant/smarthome/concepts/fulfillment-authentication).
//
- // 1. When a user opens their Google Home App, they can begin linking a 3p
- // partner.
- // 2. User is guided through the OAuth process.
- // 3. After entering the 3p credentials, Google gets the 3p OAuth token and
- // uses it to make a Sync call to the 3p partner and gets back all of the
- // user's data, including `agent_user_id` and devices.
- // 4. Google creates the agent user and stores a mapping from the
- // `agent_user_id` -> Google ID mapping. Google also
- // stores all of the user's devices under that Google ID.
- //
- // The mapping from `agent_user_id` to Google ID is many to many, since one
- // Google user can have multiple 3p accounts, and multiple Google users can
- // map to one `agent_user_id` (e.g., a husband and wife share one Nest account
- // username/password).
- //
- // The third-party user's identity is passed in as `agent_user_id`.
- // The agent is identified by the JWT signed by the partner's service account.
- //
- // Note: Special characters (except "/") in `agent_user_id` must be
- // URL-encoded.
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [DeleteAgentUserRequest][google.home.graph.v1.DeleteAgentUserRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
DeleteAgentUser(context.Context, *DeleteAgentUserRequest) (*empty.Empty, error)
- // Gets the device states for the devices in [QueryRequest][google.home.graph.v1.QueryRequest].
- // The third-party user's identity is passed in as `agent_user_id`. The agent
- // is identified by the JWT signed by the third-party partner's service
- // account.
+ // Gets the current states in Home Graph for the given set of the third-party
+ // user's devices.
+ //
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [QueryRequest][google.home.graph.v1.QueryRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
Query(context.Context, *QueryRequest) (*QueryResponse, error)
// Gets all the devices associated with the given third-party user.
- // The third-party user's identity is passed in as `agent_user_id`. The agent
- // is identified by the JWT signed by the third-party partner's service
- // account.
+ //
+ // The third-party user's identity is passed in via the `agent_user_id`
+ // (see [SyncRequest][google.home.graph.v1.SyncRequest]).
+ // This request must be authorized using service account credentials from your
+ // Actions console project.
Sync(context.Context, *SyncRequest) (*SyncResponse, error)
}
diff --git a/googleapis/rpc/errdetails/error_details.pb.go b/googleapis/rpc/errdetails/error_details.pb.go
index 5ea69f1..1ca6303 100644
--- a/googleapis/rpc/errdetails/error_details.pb.go
+++ b/googleapis/rpc/errdetails/error_details.pb.go
@@ -239,7 +239,7 @@
//
// Example of an error when contacting the "pubsub.googleapis.com" API when it
// is not enabled:
-// { "type": "API_DISABLED"
+// { "reason": "API_DISABLED"
// "domain": "googleapis.com"
// "metadata": {
// "resource": "projects/123",
@@ -250,10 +250,10 @@
//
// Example of an error that is returned when attempting to create a Spanner
// instance in a region that is out of stock:
-// { "type": "STOCKOUT"
+// { "reason": "STOCKOUT"
// "domain": "spanner.googleapis.com",
// "metadata": {
-// "availableRegions": ""us-central1,us-east2"
+// "availableRegions": "us-central1,us-east2"
// }
// }
//