// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/osconfig/v1beta/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/v1beta/osconfig_service.proto", fileDescriptor_9608bfa361081d69)
}

var fileDescriptor_9608bfa361081d69 = []byte{
	// 897 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0xcd, 0x6e, 0xeb, 0x44,
	0x18, 0xd5, 0x20, 0x74, 0x17, 0x03, 0xf7, 0x5e, 0x32, 0x6a, 0x29, 0x4a, 0x59, 0x54, 0x96, 0x00,
	0x35, 0x24, 0x36, 0x4d, 0xaa, 0xa6, 0x35, 0x42, 0x34, 0x6d, 0xda, 0x40, 0x55, 0x89, 0x02, 0xa2,
	0x48, 0x6c, 0x22, 0xc7, 0x9d, 0xb8, 0x6e, 0x6d, 0x8f, 0xc9, 0x8c, 0x1b, 0x02, 0xea, 0x86, 0x57,
	0x40, 0x62, 0xc7, 0x82, 0x0d, 0xa8, 0x2c, 0x79, 0x02, 0x24, 0x76, 0x5d, 0xb0, 0x80, 0x5d, 0x36,
	0x6c, 0x58, 0x21, 0x1e, 0x02, 0x79, 0xec, 0x71, 0x26, 0x7f, 0xfe, 0x69, 0x97, 0xd6, 0x7c, 0x67,
	0xe6, 0x9c, 0xf3, 0x9d, 0xcf, 0x63, 0xc3, 0x86, 0x45, 0x88, 0xe5, 0x60, 0xcd, 0x74, 0x48, 0x70,
	0xa1, 0x11, 0x6a, 0x12, 0xaf, 0x6f, 0x5b, 0xda, 0xcd, 0x56, 0x0f, 0x33, 0x23, 0x79, 0xee, 0x52,
	0x3c, 0xb8, 0xb1, 0x4d, 0xac, 0xfa, 0x03, 0xc2, 0x08, 0x7a, 0x3d, 0x02, 0xa9, 0x1c, 0xa4, 0x8a,
	0x22, 0x35, 0x02, 0x95, 0xe3, 0x55, 0xcd, 0xf0, 0x6d, 0xcd, 0xf0, 0x3c, 0xc2, 0x0c, 0x66, 0x13,
	0x8f, 0x46, 0xd8, 0xf2, 0x9a, 0xb4, 0x6a, 0x3a, 0x36, 0xf6, 0x58, 0xbc, 0xb0, 0x95, 0xca, 0xc4,
	0x0a, 0x30, 0x65, 0x5d, 0x9f, 0x38, 0xb6, 0x69, 0x63, 0xb1, 0xd7, 0x76, 0x2a, 0xc4, 0x37, 0x98,
	0x79, 0xd9, 0xbd, 0xc0, 0xbe, 0x43, 0x46, 0x2e, 0xf6, 0x98, 0x40, 0xd5, 0x72, 0xa0, 0xae, 0x48,
	0x4f, 0x94, 0xaf, 0xc7, 0xe5, 0xfc, 0xa9, 0x17, 0xf4, 0x35, 0xec, 0xfa, 0x6c, 0x14, 0x2d, 0xd6,
	0xef, 0xd6, 0xe0, 0xf3, 0x8f, 0xe8, 0x21, 0xdf, 0xe1, 0xd3, 0xc8, 0x23, 0x74, 0x07, 0xe0, 0xf3,
	0xa3, 0xaf, 0xb0, 0x19, 0x30, 0x7c, 0x16, 0x6e, 0x76, 0x42, 0x7a, 0x68, 0x5b, 0x4d, 0xb3, 0x4c,
	0x9d, 0x29, 0xff, 0x04, 0x7f, 0x19, 0xca, 0x2d, 0xbf, 0x99, 0x8e, 0x12, 0xe5, 0xca, 0xee, 0xb7,
	0x7f, 0xfd, 0xf3, 0xdd, 0x0b, 0x75, 0xa5, 0x26, 0x44, 0x7c, 0xe3, 0x1b, 0x03, 0xec, 0xb1, 0xf7,
	0xfc, 0x01, 0xb9, 0xc2, 0x26, 0xa3, 0x5a, 0xe5, 0x36, 0x12, 0x76, 0x42, 0x7a, 0x54, 0xc7, 0xd1,
	0x69, 0x3a, 0xa8, 0xa0, 0xef, 0x01, 0x7c, 0xa9, 0x83, 0x59, 0xc2, 0xf3, 0x9d, 0xf4, 0x13, 0xa5,
	0xd2, 0xa2, 0x1c, 0x6b, 0x9c, 0xe3, 0x5b, 0xe8, 0x8d, 0x84, 0xa3, 0x67, 0xb8, 0x58, 0x62, 0x38,
	0x21, 0xa8, 0x55, 0x6e, 0xd1, 0x4f, 0x00, 0x3e, 0x3b, 0x34, 0x3c, 0x13, 0x3b, 0x09, 0xb7, 0x46,
	0xfa, 0x49, 0xd3, 0xd5, 0x45, 0xe9, 0x35, 0x39, 0xbd, 0x2d, 0xa5, 0x9a, 0x8b, 0x9e, 0x6e, 0xf2,
	0xc3, 0x42, 0x07, 0x7f, 0x06, 0xf0, 0xe9, 0xa9, 0x4d, 0x13, 0x5f, 0x28, 0xaa, 0xa7, 0x1f, 0x39,
	0x55, 0x2c, 0x68, 0x36, 0x0a, 0x61, 0xa8, 0x4f, 0x3c, 0x8a, 0x17, 0x58, 0x9a, 0xd6, 0x76, 0xf4,
	0x1f, 0x80, 0xeb, 0xf2, 0x46, 0x1f, 0x7a, 0x94, 0x85, 0x32, 0xda, 0x98, 0x19, 0xb6, 0x43, 0xd1,
	0x7e, 0x7e, 0x0e, 0x33, 0x50, 0xa1, 0xa2, 0xf5, 0x88, 0x1d, 0x62, 0x4d, 0x1f, 0x8c, 0x5b, 0x4f,
	0x22, 0x15, 0x5c, 0xdc, 0x1e, 0x6a, 0x2e, 0x17, 0x37, 0xd5, 0x12, 0xcd, 0x9e, 0x91, 0x73, 0x0f,
	0xe0, 0xea, 0xe1, 0x00, 0x1b, 0xf1, 0x58, 0xb5, 0x93, 0xf7, 0x00, 0xd2, 0x33, 0x82, 0xb4, 0x08,
	0x24, 0x24, 0xd6, 0x72, 0xe4, 0x69, 0x82, 0x52, 0x8e, 0xb9, 0x8a, 0x7d, 0x29, 0x56, 0xcb, 0x5a,
	0x34, 0x01, 0x51, 0xfd, 0x95, 0xd9, 0x57, 0x17, 0xfa, 0x15, 0x40, 0x24, 0x86, 0x4f, 0x52, 0xd2,
	0xcc, 0x37, 0xae, 0x8f, 0x96, 0xb1, 0xcd, 0x65, 0xa8, 0x28, 0x63, 0x3a, 0x24, 0x0d, 0xe1, 0x0c,
	0xff, 0x0e, 0xe0, 0x4a, 0xd2, 0x73, 0x69, 0x0d, 0xed, 0xe5, 0xcc, 0x89, 0x84, 0x11, 0xc4, 0xf5,
	0x87, 0x40, 0xe3, 0x6c, 0xcd, 0xab, 0xc8, 0xd1, 0x0c, 0xf4, 0x23, 0x80, 0xab, 0x6d, 0xec, 0xe0,
	0xc2, 0x39, 0x5a, 0x08, 0x12, 0x3a, 0x5e, 0x15, 0x58, 0x71, 0xad, 0xa8, 0x47, 0xe1, 0xb5, 0x22,
	0x38, 0x56, 0x8a, 0x39, 0xfd, 0x07, 0x80, 0xa5, 0x28, 0xb6, 0x9d, 0x70, 0xf7, 0xb3, 0xf0, 0x9a,
	0x1c, 0xa1, 0x9d, 0x3c, 0x39, 0x97, 0x00, 0x82, 0xdb, 0x66, 0x46, 0xaa, 0x26, 0x08, 0xe5, 0x7c,
	0xdc, 0x5a, 0x89, 0x4c, 0xac, 0x6e, 0x48, 0x57, 0xf4, 0x28, 0x1a, 0x5e, 0x65, 0x33, 0xcd, 0x69,
	0x2b, 0xd9, 0xc7, 0xc6, 0x54, 0x7f, 0x59, 0x86, 0xa3, 0x5f, 0x00, 0x7c, 0xd6, 0xc1, 0x4c, 0x56,
	0xd3, 0xc8, 0xcc, 0xfa, 0xe3, 0xa4, 0xec, 0x8e, 0x5b, 0x2f, 0x86, 0x5e, 0x73, 0xea, 0x6f, 0xa3,
	0xcd, 0xa5, 0x0d, 0x98, 0xe2, 0x1d, 0xba, 0xff, 0x1b, 0x80, 0xa5, 0x30, 0x78, 0x1d, 0x79, 0x21,
	0xcb, 0xfd, 0x39, 0x80, 0xa0, 0xdc, 0x2c, 0x8c, 0x8b, 0xe3, 0xad, 0x4f, 0xbf, 0x3a, 0x65, 0x09,
	0x59, 0xee, 0xa3, 0xbf, 0x01, 0x2c, 0x7d, 0xe6, 0x5f, 0x14, 0x0b, 0xd0, 0x1c, 0xe0, 0x01, 0xae,
	0x5b, 0xe3, 0xd6, 0x6b, 0x72, 0xe7, 0xab, 0x01, 0xdf, 0xb4, 0xeb, 0x1a, 0xf4, 0x9a, 0xcb, 0x38,
	0xae, 0xef, 0x24, 0x32, 0xe4, 0x42, 0x35, 0xab, 0x2d, 0x33, 0x89, 0xfa, 0x01, 0xc0, 0x52, 0x34,
	0x91, 0x05, 0x14, 0xce, 0x01, 0xb2, 0xc6, 0x77, 0x3a, 0x44, 0x95, 0x02, 0x21, 0xfa, 0x17, 0xc0,
	0xf2, 0x29, 0x21, 0xd7, 0x81, 0x7f, 0xd4, 0xef, 0x63, 0x93, 0xd9, 0x37, 0x53, 0x44, 0xdf, 0xcf,
	0x48, 0xc5, 0x52, 0xa4, 0x60, 0x9c, 0xf1, 0x55, 0xb2, 0x08, 0xaa, 0x7c, 0xce, 0x65, 0x7c, 0xac,
	0x9c, 0x26, 0x32, 0xc4, 0x25, 0x2b, 0x4b, 0xf9, 0x9a, 0x78, 0xa1, 0x84, 0xe4, 0x02, 0xe6, 0xe6,
	0x3b, 0x4b, 0x09, 0xe9, 0xa0, 0x52, 0xa6, 0xf7, 0xad, 0xb5, 0x84, 0x41, 0xc4, 0xcb, 0xf0, 0x6d,
	0xaa, 0x9a, 0xc4, 0xfd, 0xb3, 0x75, 0x7e, 0xc9, 0x98, 0x4f, 0x75, 0x4d, 0x1b, 0x0e, 0x87, 0x33,
	0x8b, 0x9a, 0x11, 0xb0, 0xcb, 0xe8, 0xc3, 0xbd, 0xe6, 0x3b, 0x06, 0xeb, 0x93, 0x81, 0x5b, 0xcd,
	0x2c, 0x27, 0xae, 0x1f, 0x30, 0x7c, 0x30, 0x84, 0x1b, 0x26, 0x71, 0x53, 0x6d, 0x38, 0x78, 0x2a,
	0x3e, 0xe6, 0xcf, 0xc2, 0xbe, 0x7e, 0xd1, 0x8e, 0x8b, 0x2d, 0xe2, 0x18, 0x9e, 0xa5, 0x92, 0x81,
	0xa5, 0x59, 0xd8, 0xe3, 0x3d, 0xd7, 0x26, 0x47, 0x2d, 0xfe, 0x93, 0x78, 0x57, 0x3c, 0xf7, 0x9e,
	0x70, 0x40, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x59, 0x82, 0xbf, 0x9e, 0x6c, 0x0d, 0x00,
	0x00,
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// 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.SupportPackageIsVersion4

// 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)
	// Create an OS Config guest policy.
	CreateGuestPolicy(ctx context.Context, in *CreateGuestPolicyRequest, opts ...grpc.CallOption) (*GuestPolicy, error)
	// Get an OS Config guest policy.
	GetGuestPolicy(ctx context.Context, in *GetGuestPolicyRequest, opts ...grpc.CallOption) (*GuestPolicy, error)
	// Get a page of OS Config guest policies.
	ListGuestPolicies(ctx context.Context, in *ListGuestPoliciesRequest, opts ...grpc.CallOption) (*ListGuestPoliciesResponse, error)
	// Update an OS Config guest policy.
	UpdateGuestPolicy(ctx context.Context, in *UpdateGuestPolicyRequest, opts ...grpc.CallOption) (*GuestPolicy, error)
	// Delete an OS Config guest policy.
	DeleteGuestPolicy(ctx context.Context, in *DeleteGuestPolicyRequest, opts ...grpc.CallOption) (*empty.Empty, error)
	// Lookup the effective guest policy that applies to a VM instance. This
	// lookup merges all policies that are assigned to the instance ancestry.
	LookupEffectiveGuestPolicy(ctx context.Context, in *LookupEffectiveGuestPolicyRequest, opts ...grpc.CallOption) (*EffectiveGuestPolicy, error)
}

type osConfigServiceClient struct {
	cc *grpc.ClientConn
}

func NewOsConfigServiceClient(cc *grpc.ClientConn) 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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.OsConfigService/DeletePatchDeployment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *osConfigServiceClient) CreateGuestPolicy(ctx context.Context, in *CreateGuestPolicyRequest, opts ...grpc.CallOption) (*GuestPolicy, error) {
	out := new(GuestPolicy)
	err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1beta.OsConfigService/CreateGuestPolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *osConfigServiceClient) GetGuestPolicy(ctx context.Context, in *GetGuestPolicyRequest, opts ...grpc.CallOption) (*GuestPolicy, error) {
	out := new(GuestPolicy)
	err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1beta.OsConfigService/GetGuestPolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *osConfigServiceClient) ListGuestPolicies(ctx context.Context, in *ListGuestPoliciesRequest, opts ...grpc.CallOption) (*ListGuestPoliciesResponse, error) {
	out := new(ListGuestPoliciesResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1beta.OsConfigService/ListGuestPolicies", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *osConfigServiceClient) UpdateGuestPolicy(ctx context.Context, in *UpdateGuestPolicyRequest, opts ...grpc.CallOption) (*GuestPolicy, error) {
	out := new(GuestPolicy)
	err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1beta.OsConfigService/UpdateGuestPolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *osConfigServiceClient) DeleteGuestPolicy(ctx context.Context, in *DeleteGuestPolicyRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1beta.OsConfigService/DeleteGuestPolicy", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *osConfigServiceClient) LookupEffectiveGuestPolicy(ctx context.Context, in *LookupEffectiveGuestPolicyRequest, opts ...grpc.CallOption) (*EffectiveGuestPolicy, error) {
	out := new(EffectiveGuestPolicy)
	err := c.cc.Invoke(ctx, "/google.cloud.osconfig.v1beta.OsConfigService/LookupEffectiveGuestPolicy", 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)
	// Create an OS Config guest policy.
	CreateGuestPolicy(context.Context, *CreateGuestPolicyRequest) (*GuestPolicy, error)
	// Get an OS Config guest policy.
	GetGuestPolicy(context.Context, *GetGuestPolicyRequest) (*GuestPolicy, error)
	// Get a page of OS Config guest policies.
	ListGuestPolicies(context.Context, *ListGuestPoliciesRequest) (*ListGuestPoliciesResponse, error)
	// Update an OS Config guest policy.
	UpdateGuestPolicy(context.Context, *UpdateGuestPolicyRequest) (*GuestPolicy, error)
	// Delete an OS Config guest policy.
	DeleteGuestPolicy(context.Context, *DeleteGuestPolicyRequest) (*empty.Empty, error)
	// Lookup the effective guest policy that applies to a VM instance. This
	// lookup merges all policies that are assigned to the instance ancestry.
	LookupEffectiveGuestPolicy(context.Context, *LookupEffectiveGuestPolicyRequest) (*EffectiveGuestPolicy, 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 (*UnimplementedOsConfigServiceServer) CreateGuestPolicy(ctx context.Context, req *CreateGuestPolicyRequest) (*GuestPolicy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateGuestPolicy not implemented")
}
func (*UnimplementedOsConfigServiceServer) GetGuestPolicy(ctx context.Context, req *GetGuestPolicyRequest) (*GuestPolicy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGuestPolicy not implemented")
}
func (*UnimplementedOsConfigServiceServer) ListGuestPolicies(ctx context.Context, req *ListGuestPoliciesRequest) (*ListGuestPoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListGuestPolicies not implemented")
}
func (*UnimplementedOsConfigServiceServer) UpdateGuestPolicy(ctx context.Context, req *UpdateGuestPolicyRequest) (*GuestPolicy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateGuestPolicy not implemented")
}
func (*UnimplementedOsConfigServiceServer) DeleteGuestPolicy(ctx context.Context, req *DeleteGuestPolicyRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteGuestPolicy not implemented")
}
func (*UnimplementedOsConfigServiceServer) LookupEffectiveGuestPolicy(ctx context.Context, req *LookupEffectiveGuestPolicyRequest) (*EffectiveGuestPolicy, error) {
	return nil, status.Errorf(codes.Unimplemented, "method LookupEffectiveGuestPolicy 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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.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.v1beta.OsConfigService/DeletePatchDeployment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).DeletePatchDeployment(ctx, req.(*DeletePatchDeploymentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _OsConfigService_CreateGuestPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateGuestPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OsConfigServiceServer).CreateGuestPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.osconfig.v1beta.OsConfigService/CreateGuestPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).CreateGuestPolicy(ctx, req.(*CreateGuestPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _OsConfigService_GetGuestPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetGuestPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OsConfigServiceServer).GetGuestPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.osconfig.v1beta.OsConfigService/GetGuestPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).GetGuestPolicy(ctx, req.(*GetGuestPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _OsConfigService_ListGuestPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListGuestPoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OsConfigServiceServer).ListGuestPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.osconfig.v1beta.OsConfigService/ListGuestPolicies",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).ListGuestPolicies(ctx, req.(*ListGuestPoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _OsConfigService_UpdateGuestPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateGuestPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OsConfigServiceServer).UpdateGuestPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.osconfig.v1beta.OsConfigService/UpdateGuestPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).UpdateGuestPolicy(ctx, req.(*UpdateGuestPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _OsConfigService_DeleteGuestPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteGuestPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OsConfigServiceServer).DeleteGuestPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.osconfig.v1beta.OsConfigService/DeleteGuestPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).DeleteGuestPolicy(ctx, req.(*DeleteGuestPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _OsConfigService_LookupEffectiveGuestPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(LookupEffectiveGuestPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(OsConfigServiceServer).LookupEffectiveGuestPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.osconfig.v1beta.OsConfigService/LookupEffectiveGuestPolicy",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(OsConfigServiceServer).LookupEffectiveGuestPolicy(ctx, req.(*LookupEffectiveGuestPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _OsConfigService_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.osconfig.v1beta.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,
		},
		{
			MethodName: "CreateGuestPolicy",
			Handler:    _OsConfigService_CreateGuestPolicy_Handler,
		},
		{
			MethodName: "GetGuestPolicy",
			Handler:    _OsConfigService_GetGuestPolicy_Handler,
		},
		{
			MethodName: "ListGuestPolicies",
			Handler:    _OsConfigService_ListGuestPolicies_Handler,
		},
		{
			MethodName: "UpdateGuestPolicy",
			Handler:    _OsConfigService_UpdateGuestPolicy_Handler,
		},
		{
			MethodName: "DeleteGuestPolicy",
			Handler:    _OsConfigService_DeleteGuestPolicy_Handler,
		},
		{
			MethodName: "LookupEffectiveGuestPolicy",
			Handler:    _OsConfigService_LookupEffectiveGuestPolicy_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/cloud/osconfig/v1beta/osconfig_service.proto",
}
