diff options
Diffstat (limited to 'third_party/googleapis/google/cloud/osconfig/agentendpoint')
18 files changed, 0 insertions, 3735 deletions
diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel deleted file mode 100644 index 787f368..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/BUILD.bazel +++ /dev/null @@ -1,375 +0,0 @@ -# This file was automatically generated by BuildFileGenerator -# https://github.com/googleapis/rules_gapic/tree/master/bazel - -# Most of the manual changes to this file will be overwritten. -# It's **only** allowed to change the following rule attribute values: -# - names of *_gapic_assembly_* rules -# - certain parameters of *_gapic_library rules, including but not limited to: -# * extra_protoc_parameters -# * extra_protoc_file_parameters -# The complete list of preserved parameters can be found in the source code. - -# This is an API workspace, having public visibility by default makes perfect sense. -package(default_visibility = ["//visibility:public"]) - -############################################################################## -# Common -############################################################################## -load("@rules_proto//proto:defs.bzl", "proto_library") -load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") - -proto_library( - name = "agentendpoint_proto", - srcs = [ - "agentendpoint.proto", - "config_common.proto", - "inventory.proto", - "os_policy.proto", - "patch_jobs.proto", - "tasks.proto", - ], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/api:field_behavior_proto", - "//google/api:resource_proto", - "//google/type:date_proto", - "@com_google_protobuf//:timestamp_proto", - ], -) - -proto_library_with_info( - name = "agentendpoint_proto_with_info", - deps = [ - ":agentendpoint_proto", - "//google/cloud:common_resources_proto", - ], -) - -############################################################################## -# Java -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "java_gapic_assembly_gradle_pkg", - "java_gapic_library", - "java_gapic_test", - "java_grpc_library", - "java_proto_library", -) - -java_proto_library( - name = "agentendpoint_java_proto", - deps = [":agentendpoint_proto"], -) - -java_grpc_library( - name = "agentendpoint_java_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_java_proto"], -) - -java_gapic_library( - name = "agentendpoint_java_gapic", - srcs = [":agentendpoint_proto_with_info"], - gapic_yaml = "osconfig_gapic.yaml", - grpc_service_config = "agentendpoint_grpc_service_config.json", - service_yaml = "osconfig_v1.yaml", - test_deps = [ - ":agentendpoint_java_grpc", - ], - transport = "grpc+rest", - deps = [ - ":agentendpoint_java_proto", - "//google/api:api_java_proto", - ], -) - -java_gapic_test( - name = "agentendpoint_java_gapic_test_suite", - test_classes = [ - "com.google.cloud.osconfig.agentendpoint.v1.AgentEndpointServiceClientHttpJsonTest", - "com.google.cloud.osconfig.agentendpoint.v1.AgentEndpointServiceClientTest", - ], - runtime_deps = [":agentendpoint_java_gapic_test"], -) - -# Open Source Packages -java_gapic_assembly_gradle_pkg( - name = "google-cloud-osconfig-agentendpoint-v1-java", - include_samples = True, - transport = "grpc+rest", - deps = [ - ":agentendpoint_java_gapic", - ":agentendpoint_java_grpc", - ":agentendpoint_java_proto", - ":agentendpoint_proto", - ], -) - -############################################################################## -# Go -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "go_gapic_assembly_pkg", - "go_gapic_library", - "go_proto_library", - "go_test", -) - -go_proto_library( - name = "agentendpoint_go_proto", - compilers = ["@io_bazel_rules_go//proto:go_grpc"], - importpath = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1", - protos = [":agentendpoint_proto"], - deps = [ - "//google/api:annotations_go_proto", - "//google/type:date_go_proto", - ], -) - -go_gapic_library( - name = "agentendpoint_go_gapic", - srcs = [":agentendpoint_proto_with_info"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - importpath = "cloud.google.com/go/osconfig/agentendpoint/apiv1;agentendpoint", - metadata = True, - service_yaml = "osconfig_v1.yaml", - transport = "grpc+rest", - deps = [ - ":agentendpoint_go_proto", - ], -) - -go_test( - name = "agentendpoint_go_gapic_test", - srcs = [":agentendpoint_go_gapic_srcjar_test"], - embed = [":agentendpoint_go_gapic"], - importpath = "cloud.google.com/go/osconfig/agentendpoint/apiv1", -) - -# Open Source Packages -go_gapic_assembly_pkg( - name = "gapi-cloud-osconfig-agentendpoint-v1-go", - deps = [ - ":agentendpoint_go_gapic", - ":agentendpoint_go_gapic_srcjar-metadata.srcjar", - ":agentendpoint_go_gapic_srcjar-test.srcjar", - ":agentendpoint_go_proto", - ], -) - -############################################################################## -# Python -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "py_gapic_assembly_pkg", - "py_gapic_library", - "py_test", -) - -py_gapic_library( - name = "agentendpoint_py_gapic", - srcs = [":agentendpoint_proto"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - transport = "grpc", -) - -py_test( - name = "agentendpoint_py_gapic_test", - srcs = [ - "agentendpoint_py_gapic_pytest.py", - "agentendpoint_py_gapic_test.py", - ], - legacy_create_init = False, - deps = [":agentendpoint_py_gapic"], -) - -# Open Source Packages -py_gapic_assembly_pkg( - name = "osconfig-agentendpoint-v1-py", - deps = [ - ":agentendpoint_py_gapic", - ], -) - -############################################################################## -# PHP -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "php_gapic_assembly_pkg", - "php_gapic_library", - "php_grpc_library", - "php_proto_library", -) - -php_proto_library( - name = "agentendpoint_php_proto", - deps = [":agentendpoint_proto"], -) - -php_grpc_library( - name = "agentendpoint_php_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_php_proto"], -) - -php_gapic_library( - name = "agentendpoint_php_gapic", - srcs = [":agentendpoint_proto_with_info"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - service_yaml = "osconfig_v1.yaml", - deps = [ - ":agentendpoint_php_grpc", - ":agentendpoint_php_proto", - ], -) - -# Open Source Packages -php_gapic_assembly_pkg( - name = "google-cloud-osconfig-agentendpoint-v1-php", - deps = [ - ":agentendpoint_php_gapic", - ":agentendpoint_php_grpc", - ":agentendpoint_php_proto", - ], -) - -############################################################################## -# Node.js -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "nodejs_gapic_assembly_pkg", - "nodejs_gapic_library", -) - -nodejs_gapic_library( - name = "agentendpoint_nodejs_gapic", - package_name = "@google-cloud/agentendpoint", - src = ":agentendpoint_proto_with_info", - extra_protoc_parameters = ["metadata"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - package = "google.cloud.osconfig.agentendpoint.v1", - service_yaml = "osconfig_v1.yaml", - deps = [], -) - -nodejs_gapic_assembly_pkg( - name = "osconfig-agentendpoint-v1-nodejs", - deps = [ - ":agentendpoint_nodejs_gapic", - ":agentendpoint_proto", - ], -) - -############################################################################## -# Ruby -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "ruby_cloud_gapic_library", - "ruby_gapic_assembly_pkg", - "ruby_grpc_library", - "ruby_proto_library", -) - -ruby_proto_library( - name = "agentendpoint_ruby_proto", - deps = [":agentendpoint_proto"], -) - -ruby_grpc_library( - name = "agentendpoint_ruby_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_ruby_proto"], -) - -ruby_cloud_gapic_library( - name = "agentendpoint_ruby_gapic", - srcs = [":agentendpoint_proto_with_info"], - extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-agentendpoint-v1"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - deps = [ - ":agentendpoint_ruby_grpc", - ":agentendpoint_ruby_proto", - ], -) - -# Open Source Packages -ruby_gapic_assembly_pkg( - name = "google-cloud-osconfig-agentendpoint-v1-ruby", - deps = [ - ":agentendpoint_ruby_gapic", - ":agentendpoint_ruby_grpc", - ":agentendpoint_ruby_proto", - ], -) - -############################################################################## -# C# -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "csharp_gapic_assembly_pkg", - "csharp_gapic_library", - "csharp_grpc_library", - "csharp_proto_library", -) - -csharp_proto_library( - name = "agentendpoint_csharp_proto", - deps = [":agentendpoint_proto"], -) - -csharp_grpc_library( - name = "agentendpoint_csharp_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_csharp_proto"], -) - -csharp_gapic_library( - name = "agentendpoint_csharp_gapic", - srcs = [":agentendpoint_proto_with_info"], - common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", - grpc_service_config = "agentendpoint_grpc_service_config.json", - service_yaml = "osconfig_v1.yaml", - deps = [ - ":agentendpoint_csharp_grpc", - ":agentendpoint_csharp_proto", - ], -) - -# Open Source Packages -csharp_gapic_assembly_pkg( - name = "google-cloud-osconfig-agentendpoint-v1-csharp", - deps = [ - ":agentendpoint_csharp_gapic", - ":agentendpoint_csharp_grpc", - ":agentendpoint_csharp_proto", - ], -) - -############################################################################## -# C++ -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "cc_grpc_library", - "cc_proto_library", -) - -cc_proto_library( - name = "agentendpoint_cc_proto", - deps = [":agentendpoint_proto"], -) - -cc_grpc_library( - name = "agentendpoint_cc_grpc", - srcs = [":agentendpoint_proto"], - grpc_only = True, - deps = [":agentendpoint_cc_proto"], -) diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/agentendpoint.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/agentendpoint.proto deleted file mode 100644 index 38a04a0..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/agentendpoint.proto +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1; - -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/cloud/osconfig/agentendpoint/v1/inventory.proto"; -import "google/cloud/osconfig/agentendpoint/v1/tasks.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1;agentendpoint"; -option java_multiple_files = true; -option java_outer_classname = "AgentEndpointProto"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1"; - -// OS Config agent endpoint API. -service AgentEndpointService { - option (google.api.default_host) = "osconfig.googleapis.com"; - - // Stream established by client to receive Task notifications. - rpc ReceiveTaskNotification(ReceiveTaskNotificationRequest) returns (stream ReceiveTaskNotificationResponse) { - option (google.api.method_signature) = "instance_id_token,agent_version"; - } - - // Signals the start of a task execution and returns the task info. - rpc StartNextTask(StartNextTaskRequest) returns (StartNextTaskResponse) { - option (google.api.method_signature) = "instance_id_token"; - } - - // Signals an intermediary progress checkpoint in task execution. - rpc ReportTaskProgress(ReportTaskProgressRequest) returns (ReportTaskProgressResponse) { - option (google.api.method_signature) = "instance_id_token,task_id,task_type"; - } - - // Signals that the task execution is complete and optionally returns the next - // task. - rpc ReportTaskComplete(ReportTaskCompleteRequest) returns (ReportTaskCompleteResponse) { - option (google.api.method_signature) = "instance_id_token,task_id,task_type,error_message"; - } - - // Registers the agent running on the VM. - rpc RegisterAgent(RegisterAgentRequest) returns (RegisterAgentResponse) { - option (google.api.method_signature) = "instance_id_token,agent_version,supported_capabilities"; - } - - // Reports the VMs current inventory. - rpc ReportInventory(ReportInventoryRequest) returns (ReportInventoryResponse) { - option (google.api.method_signature) = "instance_id_token,inventory_checksum,inventory"; - } -} - -// A request message to receive task notifications. -message ReceiveTaskNotificationRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The version of the agent making the request. - string agent_version = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// The streaming rpc message that will notify the agent when it has a task -// it needs to perform on the instance. -message ReceiveTaskNotificationResponse { - -} - -// A request message for signaling the start of a task execution. -message StartNextTaskRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// A response message that contains the details of the task to work on. -message StartNextTaskResponse { - // The details of the task that should be worked on. Can be empty if there - // is no new task to work on. - Task task = 1; -} - -// A request message for reporting the progress of current task. -message ReportTaskProgressRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. Unique identifier of the task this applies to. - string task_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The type of task to report progress on. - // - // Progress must include the appropriate message based on this enum as - // specified below: - // APPLY_PATCHES = ApplyPatchesTaskProgress - // EXEC_STEP = Progress not supported for this type. - // APPLY_CONFIG_TASK = ApplyConfigTaskProgress - TaskType task_type = 3 [(google.api.field_behavior) = REQUIRED]; - - // Intermediate progress of the current task. - oneof progress { - // Details about the progress of the apply patches task. - ApplyPatchesTaskProgress apply_patches_task_progress = 4; - - // Details about the progress of the exec step task. - ExecStepTaskProgress exec_step_task_progress = 5; - - // Details about the progress of the apply config task. - ApplyConfigTaskProgress apply_config_task_progress = 6; - } -} - -// The response message after the agent reported the current task progress. -message ReportTaskProgressResponse { - // Instructs agent to continue or not. - TaskDirective task_directive = 1; -} - -// A request message for signaling the completion of a task execution. -message ReportTaskCompleteRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. Unique identifier of the task this applies to. - string task_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The type of task to report completed. - // - // Output must include the appropriate message based on this enum as - // specified below: - // APPLY_PATCHES = ApplyPatchesTaskOutput - // EXEC_STEP = ExecStepTaskOutput - // APPLY_CONFIG_TASK = ApplyConfigTaskOutput - TaskType task_type = 3 [(google.api.field_behavior) = REQUIRED]; - - // Descriptive error message if the task execution ended in error. - string error_message = 4; - - // Final output details of the current task. - oneof output { - // Final output details of the apply patches task; - ApplyPatchesTaskOutput apply_patches_task_output = 5; - - // Final output details of the exec step task; - ExecStepTaskOutput exec_step_task_output = 6; - - // Final output details of the apply config task; - ApplyConfigTaskOutput apply_config_task_output = 7; - } -} - -// The response message after the agent signaled the current task complete. -message ReportTaskCompleteResponse { - -} - -// The request message for registering the agent. -message RegisterAgentRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The version of the agent. - string agent_version = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The capabilities supported by the agent. Supported values are: - // PATCH_GA - // GUEST_POLICY_BETA - // CONFIG_V1 - repeated string supported_capabilities = 3 [(google.api.field_behavior) = REQUIRED]; - - // The operating system long name. - // For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 - // Datacenter'. - string os_long_name = 4; - - // The operating system short name. - // For example, 'windows' or 'debian'. - string os_short_name = 5; - - // The version of the operating system. - string os_version = 6; - - // The system architecture of the operating system. - string os_architecture = 7; -} - -// The response message after the agent registered. -message RegisterAgentResponse { - -} - -// The request message for having the agent report inventory. -message ReportInventoryRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. This is a client created checksum that should be generated based on the - // contents of the reported inventory. This will be used by the service to - // determine if it has the latest version of inventory. - string inventory_checksum = 2 [(google.api.field_behavior) = REQUIRED]; - - // Optional. This is the details of the inventory. Should only be provided if the - // inventory has changed since the last report, or if instructed by the - // service to provide full inventory. - Inventory inventory = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -// The response message after the agent has reported inventory. -message ReportInventoryResponse { - // If true, the full inventory should be reported back to the server. - bool report_full_inventory = 1; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/agentendpoint_grpc_service_config.json b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/agentendpoint_grpc_service_config.json deleted file mode 100644 index 38756d4..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/agentendpoint_grpc_service_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "methodConfig": [{ - "name": [{ "service": "google.cloud.osconfig.agentendpoint.v1.AgentEndpointService" }], - "timeout": "60s", - "retryPolicy": { - "maxAttempts": 5, - "initialBackoff": "1s", - "maxBackoff": "60s", - "backoffMultiplier": 1.3, - "retryableStatusCodes": ["UNAVAILABLE"] - } - },{ - "name": [ - { - "service": "google.cloud.osconfig.agentendpoint.v1.AgentEndpointService", - "method": "ReceiveTaskNotification" - } - ], - "timeout": "3600s", - "retryPolicy": { - "maxAttempts": 5, - "initialBackoff": "1s", - "maxBackoff": "60s", - "backoffMultiplier": 1.3, - "retryableStatusCodes": [ - "DEADLINE_EXCEEDED", - "CANCELLED", - "ABORTED", - "INTERNAL", - "UNAVAILABLE" - ] - } - }] -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/config_common.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/config_common.proto deleted file mode 100644 index 576292f..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/config_common.proto +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1;agentendpoint"; -option java_multiple_files = true; -option java_outer_classname = "ConfigCommonProto"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1"; - -// Step performed by the OS Config agent for configuring an `OSPolicyResource` -// to its desired state. -message OSPolicyResourceConfigStep { - // Supported configuration step types - enum Type { - // Default value. This value is unused. - TYPE_UNSPECIFIED = 0; - - // Validation to detect resource conflicts, schema errors, etc. - VALIDATION = 1; - - // Check the current desired state status of the resource. - DESIRED_STATE_CHECK = 2; - - // Enforce the desired state for a resource that is not in desired state. - DESIRED_STATE_ENFORCEMENT = 3; - - // Re-check desired state status for a resource after enforcement of all - // resources in the current configuration run. - // - // This step is used to determine the final desired state status for the - // resource. It accounts for any resources that might have drifted from - // their desired state due to side effects from configuring other resources - // during the current configuration run. - DESIRED_STATE_CHECK_POST_ENFORCEMENT = 4; - } - - // Supported outcomes for a configuration step. - enum Outcome { - // Default value. This value is unused. - OUTCOME_UNSPECIFIED = 0; - - // The step succeeded. - SUCCEEDED = 1; - - // The step failed. - FAILED = 2; - } - - // Configuration step type. - Type type = 1; - - // Outcome of the configuration step. - Outcome outcome = 2; - - // An error message recorded during the execution of this step. - // Only populated when outcome is FAILED. - string error_message = 3; -} - -// Compliance data for an OS policy resource. -message OSPolicyResourceCompliance { - // ExecResource specific output. - message ExecResourceOutput { - // Output from Enforcement phase output file (if run). - // Output size is limited to 100K bytes. - bytes enforcement_output = 2; - } - - // The id of the OS policy resource. - string os_policy_resource_id = 1; - - // Ordered list of configuration steps taken by the agent for the OS policy - // resource. - repeated OSPolicyResourceConfigStep config_steps = 2; - - // Compliance state of the OS policy resource. - OSPolicyComplianceState state = 3; - - // Resource specific output. - oneof output { - // ExecResource specific output. - ExecResourceOutput exec_resource_output = 4; - } -} - -// Supported OSPolicy compliance states. -enum OSPolicyComplianceState { - // Default value. This value is unused. - OS_POLICY_COMPLIANCE_STATE_UNSPECIFIED = 0; - - // Compliant state. - COMPLIANT = 1; - - // Non-compliant state - NON_COMPLIANT = 2; - - // Unknown compliance state. - UNKNOWN = 3; - - // No applicable OS policies were found for the instance. - // This state is only applicable to the instance. - NO_OS_POLICIES_APPLICABLE = 4; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/inventory.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/inventory.proto deleted file mode 100644 index 4cb92fb..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/inventory.proto +++ /dev/null @@ -1,231 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1; - -import "google/protobuf/timestamp.proto"; -import "google/type/date.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1;agentendpoint"; -option java_multiple_files = true; -option java_outer_classname = "InventoryProto"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1"; - -// OS Config Inventory is a service for collecting and reporting operating -// system and package information on VM instances. - -// The inventory details of a VM. -message Inventory { - // Operating system information for the VM. - message OsInfo { - // The VM hostname. - string hostname = 1; - - // The operating system long name. - // For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 - // Datacenter'. - string long_name = 2; - - // The operating system short name. - // For example, 'windows' or 'debian'. - string short_name = 3; - - // The version of the operating system. - string version = 4; - - // The system architecture of the operating system. - string architecture = 5; - - // The kernel version of the operating system. - string kernel_version = 6; - - // The kernel release of the operating system. - string kernel_release = 7; - - // The current version of the OS Config agent running on the VM. - string osconfig_agent_version = 8; - } - - // Software package information of the operating system. - message SoftwarePackage { - // Information about the different types of software packages. - oneof details { - // Yum package info. - // For details about the yum package manager, see - // https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum. - VersionedPackage yum_package = 1; - - // Details of an APT package. - // For details about the apt package manager, see - // https://wiki.debian.org/Apt. - VersionedPackage apt_package = 2; - - // Details of a Zypper package. - // For details about the Zypper package manager, see - // https://en.opensuse.org/SDB:Zypper_manual. - VersionedPackage zypper_package = 3; - - // Details of a Googet package. - // For details about the googet package manager, see - // https://github.com/google/googet. - VersionedPackage googet_package = 4; - - // Details of a Zypper patch. - // For details about the Zypper package manager, see - // https://en.opensuse.org/SDB:Zypper_manual. - ZypperPatch zypper_patch = 5; - - // Details of a Windows Update package. - // See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for - // information about Windows Update. - WindowsUpdatePackage wua_package = 6; - - // Details of a Windows Quick Fix engineering package. - // See - // https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering - // for info in Windows Quick Fix Engineering. - WindowsQuickFixEngineeringPackage qfe_package = 7; - - // Details of a COS package. - VersionedPackage cos_package = 8; - - // Details of Windows Application. - WindowsApplication windows_application = 9; - } - } - - // Information related to the a standard versioned package. This includes - // package info for APT, Yum, Zypper, and Googet package managers. - message VersionedPackage { - // The name of the package. - string package_name = 1; - - // The system architecture this package is intended for. - string architecture = 2; - - // The version of the package. - string version = 3; - } - - // Details related to a Zypper Patch. - message ZypperPatch { - // The name of the patch. - string patch_name = 1; - - // The category of the patch. - string category = 2; - - // The severity specified for this patch - string severity = 3; - - // Any summary information provided about this patch. - string summary = 4; - } - - // Details related to a Windows Update package. - // Field data and names are taken from Windows Update API IUpdate Interface: - // https://docs.microsoft.com/en-us/windows/win32/api/_wua/ - // Descriptive fields like title, and description are localized based on - // the locale of the VM being updated. - message WindowsUpdatePackage { - // Categories specified by the Windows Update. - message WindowsUpdateCategory { - // The identifier of the windows update category. - string id = 1; - - // The name of the windows update category. - string name = 2; - } - - // The localized title of the update package. - string title = 1; - - // The localized description of the update package. - string description = 2; - - // The categories that are associated with this update package. - repeated WindowsUpdateCategory categories = 3; - - // A collection of Microsoft Knowledge Base article IDs that are associated - // with the update package. - repeated string kb_article_ids = 4; - - // A hyperlink to the language-specific support information for the update. - string support_url = 5; - - // A collection of URLs that provide more information about the update - // package. - repeated string more_info_urls = 6; - - // Gets the identifier of an update package. Stays the same across - // revisions. - string update_id = 7; - - // The revision number of this update package. - int32 revision_number = 8; - - // The last published date of the update, in (UTC) date and time. - google.protobuf.Timestamp last_deployment_change_time = 9; - } - - // Information related to a Quick Fix Engineering package. - // Fields are taken from Windows QuickFixEngineering Interface and match - // the source names: - // https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering - message WindowsQuickFixEngineeringPackage { - // A short textual description of the QFE update. - string caption = 1; - - // A textual description of the QFE update. - string description = 2; - - // Unique identifier associated with a particular QFE update. - string hot_fix_id = 3; - - // Date that the QFE update was installed. Mapped from installed_on field. - google.protobuf.Timestamp install_time = 4; - } - - // Details about Windows Application - based on Windows Registry. - // All fields in this message are taken from: - // https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key - message WindowsApplication { - // DisplayName field from Windows Registry. - string display_name = 1; - - // DisplayVersion field from Windows Registry. - string display_version = 2; - - // Publisher field from Windows Registry. - string publisher = 3; - - // Installation date field from Windows Registry. - google.type.Date install_date = 4; - - // HelpLink field from Windows Registry. - string help_link = 5; - } - - // Base level operating system information for the VM. - OsInfo os_info = 1; - - // A list of installed packages currently on the VM. - repeated SoftwarePackage installed_packages = 2; - - // A list of software updates available for the VM as reported by the update - // managers. - repeated SoftwarePackage available_packages = 3; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/os_policy.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/os_policy.proto deleted file mode 100644 index c4b0c15..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/os_policy.proto +++ /dev/null @@ -1,445 +0,0 @@ -// Copyright 2021 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1; - -import "google/api/field_behavior.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1;agentendpoint"; -option java_multiple_files = true; -option java_outer_classname = "OSPolicyProto"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1"; - -// An OS policy defines the desired state configuration for an instance. -message OSPolicy { - // Policy mode - enum Mode { - // Invalid mode - MODE_UNSPECIFIED = 0; - - // This mode checks if the configuration resources in the policy are in - // their desired state. No actions are performed if they are not in the - // desired state. This mode is used for reporting purposes. - VALIDATION = 1; - - // This mode checks if the configuration resources in the policy are in - // their desired state, and if not, enforces the desired state. - ENFORCEMENT = 2; - } - - // An OS policy resource is used to define the desired state configuration - // and provides a specific functionality like installing/removing packages, - // executing a script etc. - // - // The system ensures that resources are always in their desired state by - // taking necessary actions if they have drifted from their desired state. - message Resource { - // A remote or local file. - message File { - // Specifies a file available via some URI. - message Remote { - // Required. URI from which to fetch the object. It should contain both the - // protocol and path following the format `{protocol}://{location}`. - string uri = 1 [(google.api.field_behavior) = REQUIRED]; - - // SHA256 checksum of the remote file. - string sha256_checksum = 2; - } - - // Specifies a file available as a Cloud Storage Object. - message Gcs { - // Required. Bucket of the Cloud Storage object. - string bucket = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. Name of the Cloud Storage object. - string object = 2 [(google.api.field_behavior) = REQUIRED]; - - // Generation number of the Cloud Storage object. - int64 generation = 3; - } - - // A specific type of file. - oneof type { - // A generic remote file. - Remote remote = 1; - - // A Cloud Storage object. - Gcs gcs = 2; - - // A local path to use. - string local_path = 3; - } - - // Defaults to false. When false, files are subject to validations - // based on the file type: - // - // Remote: A checksum must be specified. - // Cloud Storage: An object generation number must be specified. - bool allow_insecure = 4; - } - - // A resource that manages a system package. - message PackageResource { - // The desired state that the OS Config agent maintains on the VM. - enum DesiredState { - // Unspecified is invalid. - DESIRED_STATE_UNSPECIFIED = 0; - - // Ensure that the package is installed. - INSTALLED = 1; - - // The agent ensures that the package is not installed and - // uninstalls it if detected. - REMOVED = 2; - } - - // A deb package file. dpkg packages only support INSTALLED state. - message Deb { - // Required. A deb package. - File source = 1 [(google.api.field_behavior) = REQUIRED]; - - // Whether dependencies should also be installed. - // install when false: `dpkg -i package` - // install when true: `apt-get update && apt-get -y install - // package.deb` - bool pull_deps = 2; - } - - // A package managed by APT. - // install: `apt-get update && apt-get -y install [name]` - // remove: `apt-get -y remove [name]` - message APT { - // Required. Package name. - string name = 1 [(google.api.field_behavior) = REQUIRED]; - } - - // An RPM package file. RPM packages only support INSTALLED state. - message RPM { - // Required. An rpm package. - File source = 1 [(google.api.field_behavior) = REQUIRED]; - - // Whether dependencies should also be installed. - // install when false: `rpm --upgrade --replacepkgs package.rpm` - // install when true: `yum -y install package.rpm` or - // `zypper -y install package.rpm` - bool pull_deps = 2; - } - - // A package managed by YUM. - // install: `yum -y install package` - // remove: `yum -y remove package` - message YUM { - // Required. Package name. - string name = 1 [(google.api.field_behavior) = REQUIRED]; - } - - // A package managed by Zypper. - // install: `zypper -y install package` - // remove: `zypper -y rm package` - message Zypper { - // Required. Package name. - string name = 1 [(google.api.field_behavior) = REQUIRED]; - } - - // A package managed by GooGet. - // install: `googet -noconfirm install package` - // remove: `googet -noconfirm remove package` - message GooGet { - // Required. Package name. - string name = 1 [(google.api.field_behavior) = REQUIRED]; - } - - // An MSI package. MSI packages only support INSTALLED state. - message MSI { - // Required. The MSI package. - File source = 1 [(google.api.field_behavior) = REQUIRED]; - - // Additional properties to use during installation. - // This should be in the format of Property=Setting. - // Appended to the defaults of "ACTION=INSTALL - // REBOOT=ReallySuppress". - repeated string properties = 2; - } - - // Required. The desired state the agent should maintain for this package. The - // default is to ensure the package is installed. - DesiredState desired_state = 1 [(google.api.field_behavior) = REQUIRED]; - - // A system package. - oneof system_package { - // A package managed by Apt. - APT apt = 2; - - // A deb package file. - Deb deb = 3; - - // A package managed by YUM. - YUM yum = 4; - - // A package managed by Zypper. - Zypper zypper = 5; - - // An rpm package file. - RPM rpm = 6; - - // A package managed by GooGet. - GooGet googet = 7; - - // An MSI package. - MSI msi = 8; - } - } - - // A resource that manages a package repository. - message RepositoryResource { - // Represents a single apt package repository. These will be added to - // a repo file that will be managed at - // /etc/apt/sources.list.d/google_osconfig.list. - message AptRepository { - // Type of archive. - enum ArchiveType { - // Unspecified is invalid. - ARCHIVE_TYPE_UNSPECIFIED = 0; - - // Deb indicates that the archive contains binary files. - DEB = 1; - - // Deb-src indicates that the archive contains source files. - DEB_SRC = 2; - } - - // Required. Type of archive files in this repository. The default behavior is - // DEB. - ArchiveType archive_type = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. URI for this repository. - string uri = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. Distribution of this repository. - string distribution = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. List of components for this repository. Must contain at least one - // item. - repeated string components = 4 [(google.api.field_behavior) = REQUIRED]; - - // URI of the key file for this repository. The agent maintains a - // keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg. - string gpg_key = 5; - } - - // Represents a single yum package repository. These are added to a - // repo file that is managed at - // `/etc/yum.repos.d/google_osconfig.repo`. - message YumRepository { - // Required. A one word, unique name for this repository. This is the `repo - // id` in the yum config file and also the `display_name` if - // `display_name` is omitted. This id is also used as the unique - // identifier when checking for resource conflicts. - string id = 1 [(google.api.field_behavior) = REQUIRED]; - - // The display name of the repository. - string display_name = 2; - - // Required. The location of the repository directory. - string base_url = 3 [(google.api.field_behavior) = REQUIRED]; - - // URIs of GPG keys. - repeated string gpg_keys = 4; - } - - // Represents a single zypper package repository. These are added to a - // repo file that is managed at - // `/etc/zypp/repos.d/google_osconfig.repo`. - message ZypperRepository { - // Required. A one word, unique name for this repository. This is the `repo - // id` in the zypper config file and also the `display_name` if - // `display_name` is omitted. This id is also used as the unique - // identifier when checking for GuestPolicy conflicts. - string id = 1 [(google.api.field_behavior) = REQUIRED]; - - // The display name of the repository. - string display_name = 2; - - // Required. The location of the repository directory. - string base_url = 3 [(google.api.field_behavior) = REQUIRED]; - - // URIs of GPG keys. - repeated string gpg_keys = 4; - } - - // Represents a Goo package repository. These are added to a repo file - // that is managed at - // `C:/ProgramData/GooGet/repos/google_osconfig.repo`. - message GooRepository { - // Required. The name of the repository. - string name = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The url of the repository. - string url = 2 [(google.api.field_behavior) = REQUIRED]; - } - - // A specific type of repository. - oneof repository { - // An Apt Repository. - AptRepository apt = 1; - - // A Yum Repository. - YumRepository yum = 2; - - // A Zypper Repository. - ZypperRepository zypper = 3; - - // A Goo Repository. - GooRepository goo = 4; - } - } - - // A resource that contains custom validation and enforcement steps. - message ExecResource { - // A file or script to execute. - message Exec { - // The interpreter to use. - enum Interpreter { - // Invalid value, the request will return validation error. - INTERPRETER_UNSPECIFIED = 0; - - // If no interpreter is specified the - // source will be executed directly, which will likely only - // succeed for executables and scripts with shebang lines. - // [Wikipedia - // shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)). - NONE = 1; - - // Indicates that the script will be run with /bin/sh on Linux and - // cmd.exe on windows. - SHELL = 2; - - // Indicates that the script will be run with powershell. - POWERSHELL = 3; - } - - // What to execute. - oneof source { - // A remote or local file. - File file = 1; - - // An inline script. - string script = 2; - } - - // Optional arguments to pass to the source during execution. - repeated string args = 3; - - // Required. The script interpreter to use. - Interpreter interpreter = 4 [(google.api.field_behavior) = REQUIRED]; - - // Only recorded for enforce Exec. - // Path to an output file (that is created by this Exec) whose - // content will be recorded in OSPolicyResourceCompliance after a - // successful run. Absence or failure to read this file will result in - // this ExecResource being non-compliant. Output file size is limited to - // 100K bytes. - string output_file_path = 5; - } - - // Required. What to run to validate this resource is in the desired state. - // An exit code of 100 indicates "in desired state", and exit code of 101 - // indicates "not in desired state". Any other exit code indicates a - // failure running validate. - Exec validate = 1 [(google.api.field_behavior) = REQUIRED]; - - // What to run to bring this resource into the desired state. - // A exit code of 100 indicates "success", any other exit code idicates a - // failure running enforce. - Exec enforce = 2; - } - - // A resource that manages the state of a file. - message FileResource { - // Desired state of the file. - enum DesiredState { - // Unspecified is invalid. - DESIRED_STATE_UNSPECIFIED = 0; - - // Ensure file at path is present. - PRESENT = 1; - - // Ensure file at path is absent. - ABSENT = 2; - - // Ensure the contents of the file at path matches. If the file does - // not exist it will be created. - CONTENTS_MATCH = 3; - } - - // The source for the contents of the file. - oneof source { - // A remote or local source. - File file = 1; - - // A a file with this content. - string content = 2; - } - - // Required. The absolute path of the file. - string path = 3 [(google.api.field_behavior) = REQUIRED]; - - // Required. Desired state of the file. - DesiredState state = 4 [(google.api.field_behavior) = REQUIRED]; - - // Consists of three octal digits which represent, in - // order, the permissions of the owner, group, and other users for the - // file (similarly to the numeric mode used in the linux chmod - // utility). Each digit represents a three bit number with the 4 bit - // corresponding to the read permissions, the 2 bit corresponds to the - // write bit, and the one bit corresponds to the execute permission. - // Default behavior is 755. - // - // Below are some examples of permissions and their associated values: - // read, write, and execute: 7 - // read and execute: 5 - // read and write: 6 - // read only: 4 - string permissions = 5; - } - - // Required. The id of the resource with the following restrictions: - // - // * 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 OS policy. - string id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Resource type. - oneof resource_type { - // Package resource - PackageResource pkg = 2; - - // Package repository resource - RepositoryResource repository = 3; - - // Exec resource - ExecResource exec = 4; - - // File resource - FileResource file = 5; - } - } - - -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/osconfig_gapic.yaml b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/osconfig_gapic.yaml deleted file mode 100644 index 0bcb880..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/osconfig_gapic.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: com.google.api.codegen.ConfigProto -config_schema_version: 2.0.0 diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/osconfig_v1.yaml b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/osconfig_v1.yaml deleted file mode 100644 index 6c856d2..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/osconfig_v1.yaml +++ /dev/null @@ -1,38 +0,0 @@ -type: google.api.Service -config_version: 3 -name: osconfig.googleapis.com -title: OS Config API - -apis: -- name: google.cloud.osconfig.agentendpoint.v1.AgentEndpointService - -documentation: - summary: |- - OS management tools that can be used for patch management, patch - compliance, and configuration management on VM instances. - -backend: - rules: - - selector: 'google.cloud.osconfig.agentendpoint.v1.AgentEndpointService.*' - deadline: 30.0 - - selector: google.cloud.osconfig.agentendpoint.v1.AgentEndpointService.ReceiveTaskNotification - deadline: 3600.0 - -http: - rules: - - selector: google.longrunning.Operations.CancelOperation - post: '/v1/{name=projects/*/locations/*/osPolicyAssignments/*/operations/*}:cancel' - body: '*' - - selector: google.longrunning.Operations.GetOperation - get: '/v1/{name=projects/*/locations/*/osPolicyAssignments/*/operations/*}' - -authentication: - rules: - - selector: google.longrunning.Operations.CancelOperation - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: google.longrunning.Operations.GetOperation - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/patch_jobs.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/patch_jobs.proto deleted file mode 100644 index acacc94..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/patch_jobs.proto +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1;agentendpoint"; -option java_outer_classname = "PatchJobs"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1"; - -// Patch configuration specifications. Contains details on how to -// apply patches to a VM instance. -message PatchConfig { - // Post-patch reboot settings. - enum RebootConfig { - // The default behavior is DEFAULT. - REBOOT_CONFIG_UNSPECIFIED = 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. - DEFAULT = 1; - - // Always reboot the machine after the update completes. - ALWAYS = 2; - - // Never reboot the machine after the update completes. - NEVER = 3; - } - - // Post-patch reboot settings. - RebootConfig reboot_config = 1; - - // Retry strategy can be defined to have the agent retry patching - // during the window if patching fails. If omitted, the agent will use its - // default retry strategy. - RetryStrategy retry_strategy = 2; - - // Apt update settings. Use this override the default apt patch rules. - AptSettings apt = 3; - - // Yum update settings. Use this override the default yum patch rules. - YumSettings yum = 4; - - // Goo update settings. Use this override the default goo patch rules. - GooSettings goo = 5; - - // Zypper update settings. Use this override the default zypper patch rules. - ZypperSettings zypper = 6; - - // Windows update settings. Use this override the default windows patch rules. - WindowsUpdateSettings windows_update = 7; - - // The ExecStep to run before the patch update. - ExecStep pre_step = 8; - - // The ExecStep to run after the patch update. - ExecStep post_step = 9; - - // Allows the patch job to run on Managed instance groups (MIGs). - bool mig_instances_allowed = 10; -} - -// Apt patching will be performed by executing `apt-get update && apt-get -// upgrade`. Additional options can be set to control how this is executed. -message AptSettings { - // Apt patch type. - enum Type { - // By default, upgrade will be performed. - TYPE_UNSPECIFIED = 0; - - // Runs `apt-get dist-upgrade`. - DIST = 1; - - // Runs `apt-get upgrade`. - UPGRADE = 2; - } - - // By changing the type to DIST, the patching will be performed - // using `apt-get dist-upgrade` instead. - Type type = 1; - - // List of packages to exclude from update. - repeated string excludes = 2; - - // 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. - repeated string exclusive_packages = 3; -} - -// Yum patching will be 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. -message YumSettings { - // Adds the `--security` flag to `yum update`. Not supported on - // all platforms. - bool security = 1; - - // Will cause patch to run `yum update-minimal` instead. - bool minimal = 2; - - // List of packages to exclude from update. These packages will be excluded by - // using the yum `--exclude` flag. - repeated string excludes = 3; - - // 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. - repeated string exclusive_packages = 4; -} - -// Googet patching is performed by running `googet update`. -message GooSettings { - -} - -// Zypper patching is performed by running `zypper patch`. -// See also https://en.opensuse.org/SDB:Zypper_manual. -message ZypperSettings { - // Adds the `--with-optional` flag to `zypper patch`. - bool with_optional = 1; - - // Adds the `--with-update` flag, to `zypper patch`. - bool with_update = 2; - - // Install only patches with these categories. - // Common categories include security, recommended, and feature. - repeated string categories = 3; - - // Install only patches with these severities. - // Common severities include critical, important, moderate, and low. - repeated string severities = 4; - - // List of patches to exclude from update. - repeated string excludes = 5; - - // 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. - repeated string exclusive_patches = 6; -} - -// Windows patching is performed using the Windows Update Agent. -message WindowsUpdateSettings { - // 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 - enum Classification { - // Invalid. If classifications are included, they must be specified. - CLASSIFICATION_UNSPECIFIED = 0; - - // "A widely released fix for a specific problem that addresses a critical, - // non-security-related bug." [1] - CRITICAL = 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] - SECURITY = 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] - DEFINITION = 3; - - // "Software that controls the input and output of a device." [1] - DRIVER = 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] - FEATURE_PACK = 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] - SERVICE_PACK = 6; - - // "A utility or feature that helps complete a task or set of tasks." [1] - TOOL = 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] - UPDATE_ROLLUP = 8; - - // "A widely released fix for a specific problem. An update addresses a - // noncritical, non-security-related bug." [1] - UPDATE = 9; - } - - // Only apply updates of these windows update classifications. If empty, all - // updates will be applied. - repeated Classification classifications = 1; - - // List of KBs to exclude from update. - repeated string excludes = 2; - - // 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. - repeated string exclusive_patches = 3; -} - -// The strategy for retrying failed patches during the patch window. -message RetryStrategy { - // If true, the agent will continue to try and patch until the window has - // ended. - bool enabled = 1; -} - -// A step that runs an executable for a PatchJob. -message ExecStep { - // The ExecStepConfig for all Linux VMs targeted by the PatchJob. - ExecStepConfig linux_exec_step_config = 1; - - // The ExecStepConfig for all Windows VMs targeted by the PatchJob. - ExecStepConfig windows_exec_step_config = 2; -} - -// Common configurations for an ExecStep. -message ExecStepConfig { - // The interpreter used to execute the a file. - enum Interpreter { - // Deprecated, defaults to NONE for compatibility reasons. - INTERPRETER_UNSPECIFIED = 0; - - // Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the - // interpreter will be parsed from the shebang line of the script if - // unspecified. - NONE = 3; - - // Indicates that the script will be run with /bin/sh on Linux and cmd - // on windows. - SHELL = 1; - - // Indicates that the file will be run with PowerShell. - POWERSHELL = 2; - } - - // Location of the executable. - oneof executable { - // An absolute path to the executable on the VM. - string local_path = 1; - - // A GCS object containing the executable. - GcsObject gcs_object = 2; - } - - // Defaults to [0]. A list of possible return values that the - // execution can return to indicate a success. - repeated int32 allowed_success_codes = 3; - - // 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. - // [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)). - Interpreter interpreter = 4; -} - -// GCS object representation. -message GcsObject { - // Bucket of the GCS object. - string bucket = 1; - - // Name of the GCS object. - string object = 2; - - // Generation number of the GCS object. This is used to ensure that the - // ExecStep specified by this PatchJob does not change. - int64 generation_number = 3; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/tasks.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/tasks.proto deleted file mode 100644 index 6ef7fc9..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1/tasks.proto +++ /dev/null @@ -1,286 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1; - -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/cloud/osconfig/agentendpoint/v1/config_common.proto"; -import "google/cloud/osconfig/agentendpoint/v1/os_policy.proto"; -import "google/cloud/osconfig/agentendpoint/v1/patch_jobs.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1;agentendpoint"; -option java_multiple_files = true; -option java_outer_classname = "Tasks"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1"; -option (google.api.resource_definition) = { - type: "osconfig.googleapis.com/OSPolicyAssignment" - pattern: "projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}" -}; - -// Specifies the current agent behavior. -enum TaskDirective { - // Unspecified is invalid. - TASK_DIRECTIVE_UNSPECIFIED = 0; - - // The task should continue to progress. - CONTINUE = 1; - - // Task should not be started, or if already in progress, should stop - // at first safe stopping point. Task should be considered done and will - // never repeat. - STOP = 2; -} - -// Specifies the type of task to perform. -enum TaskType { - // Unspecified is invalid. - TASK_TYPE_UNSPECIFIED = 0; - - // The apply patches task. - APPLY_PATCHES = 1; - - // The exec step task. - EXEC_STEP_TASK = 2; - - // The apply config task - APPLY_CONFIG_TASK = 3; -} - -// A unit of work to be performed by the agent. -message Task { - // Unique task id. - string task_id = 1; - - // The type of task to perform. - // - // Task details must include the appropriate message based on this enum as - // specified below: - // APPLY_PATCHES = ApplyPatchesTask - // EXEC_STEP = ExecStepTask - // APPLY_CONFIG_TASK = ApplyConfigTask - TaskType task_type = 2; - - // Current directive to the agent. - TaskDirective task_directive = 3; - - // Specific details about the current task to perform. - oneof task_details { - // Details about the apply patches task to perform. - ApplyPatchesTask apply_patches_task = 4; - - // Details about the exec step task to perform. - ExecStepTask exec_step_task = 5; - - // Details about the apply config step task to perform. - ApplyConfigTask apply_config_task = 7; - } - - // Labels describing the task. Used for logging by the agent. - map<string, string> service_labels = 6; -} - -// Message which instructs agent to apply patches. -message ApplyPatchesTask { - // Specific information about how patches should be applied. - PatchConfig patch_config = 1; - - // If true, the agent will report its status as it goes through the motions - // but won't actually run any updates or perform any reboots. - bool dry_run = 3; -} - -// Information reported from the agent about applying patches execution. -message ApplyPatchesTaskProgress { - // The intermediate states of applying patches. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The agent has started the patch task. - STARTED = 4; - - // The agent is currently downloading patches. - DOWNLOADING_PATCHES = 1; - - // The agent is currently applying patches. - APPLYING_PATCHES = 2; - - // The agent is currently rebooting the instance. - REBOOTING = 3; - } - - // Required. The current state of this patch execution. - State state = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Information reported from the agent about applying patches execution. -message ApplyPatchesTaskOutput { - // The final states of applying patches. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // Applying patches completed successfully. - SUCCEEDED = 1; - - // Applying patches completed successfully, but a reboot is required. - SUCCEEDED_REBOOT_REQUIRED = 2; - - // Applying patches failed. - FAILED = 3; - } - - // Required. The final state of this task. - State state = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Message which instructs agent to execute the following command. -message ExecStepTask { - // Details of the exec step to run. - ExecStep exec_step = 1; -} - -// Information reported from the agent about the exec step execution. -message ExecStepTaskProgress { - // The intermediate states of exec steps. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The agent has started the exec step task. - STARTED = 1; - } - - // Required. The current state of this exec step. - State state = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Information reported from the agent about the exec step execution. -message ExecStepTaskOutput { - // The final states of exec steps. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The exec step completed normally. - COMPLETED = 1; - - // The exec step was terminated because it took too long. - TIMED_OUT = 2; - - // The exec step task was cancelled before it started. - CANCELLED = 3; - } - - // Required. The final state of the exec step. - State state = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The exit code received from the script which ran as part of the exec step. - int32 exit_code = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Message which instructs OS Config agent to apply the desired state -// configuration. -message ApplyConfigTask { - // Message representing an OS policy. - message OSPolicy { - // User provided policy id. - // Used for reporting and logging by the agent. - string id = 1; - - // The policy mode - .google.cloud.osconfig.agentendpoint.v1.OSPolicy.Mode mode = 2; - - // Reference to the `OSPolicyAssignment` API resource that this `OSPolicy` - // belongs to. - // Format: - // projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id} - // Used for reporting and logging by the agent. - string os_policy_assignment = 3 [(google.api.resource_reference) = { - type: "osconfig.googleapis.com/OSPolicyAssignment" - }]; - - // List of resources associated with the policy to be set to their - // desired state. - repeated .google.cloud.osconfig.agentendpoint.v1.OSPolicy.Resource resources = 4; - } - - // List of os policies to be applied for the instance. - repeated OSPolicy os_policies = 1; -} - -// Information reported from the agent regarding the progress of the task of -// applying desired state configuration. -message ApplyConfigTaskProgress { - // The intermediate states of apply config task. - enum State { - // Invalid state - STATE_UNSPECIFIED = 0; - - // The agent has started the task. - STARTED = 1; - - // The agent is in the process of applying the configuration. - APPLYING_CONFIG = 2; - } - - // The current state of this task. - State state = 1; -} - -// Information reported from the agent regarding the output of the task of -// applying desired state configuration. -message ApplyConfigTaskOutput { - // Result of applying desired state config for an OS policy. - message OSPolicyResult { - // The OS policy id - string os_policy_id = 1; - - // Reference to the `OSPolicyAssignment` API resource that this `OSPolicy` - // belongs to. - // Format: - // projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id} - // Used for reporting and logging by the agent. - string os_policy_assignment = 2 [(google.api.resource_reference) = { - type: "osconfig.googleapis.com/OSPolicyAssignment" - }]; - - // Results of applying desired state config for the OS policy resources. - repeated OSPolicyResourceCompliance os_policy_resource_compliances = 3; - } - - // The final state of this task. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The apply config task completed successfully. - SUCCEEDED = 1; - - // The apply config task failed. - FAILED = 2; - - // The apply config task was cancelled. - CANCELLED = 3; - } - - // Required. The final state of this task. - State state = 1 [(google.api.field_behavior) = REQUIRED]; - - // Results of applying desired state config for the OS policies. - repeated OSPolicyResult os_policy_results = 2; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel deleted file mode 100644 index 1952950..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/BUILD.bazel +++ /dev/null @@ -1,369 +0,0 @@ -# This file was automatically generated by BuildFileGenerator -# https://github.com/googleapis/rules_gapic/tree/master/bazel - -# Most of the manual changes to this file will be overwritten. -# It's **only** allowed to change the following rule attribute values: -# - names of *_gapic_assembly_* rules -# - certain parameters of *_gapic_library rules, including but not limited to: -# * extra_protoc_parameters -# * extra_protoc_file_parameters -# The complete list of preserved parameters can be found in the source code. - -# This is an API workspace, having public visibility by default makes perfect sense. -package(default_visibility = ["//visibility:public"]) - -############################################################################## -# Common -############################################################################## -load("@rules_proto//proto:defs.bzl", "proto_library") -load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") - -proto_library( - name = "agentendpoint_proto", - srcs = [ - "agentendpoint.proto", - "guest_policies.proto", - "patch_jobs.proto", - "tasks.proto", - ], - deps = [ - "//google/api:annotations_proto", - "//google/api:client_proto", - "//google/api:field_behavior_proto", - ], -) - -proto_library_with_info( - name = "agentendpoint_proto_with_info", - deps = [ - ":agentendpoint_proto", - "//google/cloud:common_resources_proto", - ], -) - -############################################################################## -# Java -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "java_gapic_assembly_gradle_pkg", - "java_gapic_library", - "java_gapic_test", - "java_grpc_library", - "java_proto_library", -) - -java_proto_library( - name = "agentendpoint_java_proto", - deps = [":agentendpoint_proto"], -) - -java_grpc_library( - name = "agentendpoint_java_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_java_proto"], -) - -java_gapic_library( - name = "agentendpoint_java_gapic", - srcs = [":agentendpoint_proto_with_info"], - gapic_yaml = "osconfig_gapic.yaml", - grpc_service_config = "agentendpoint_grpc_service_config.json", - service_yaml = "osconfig_v1beta.yaml", - test_deps = [ - ":agentendpoint_java_grpc", - ], - transport = "grpc+rest", - deps = [ - ":agentendpoint_java_proto", - "//google/api:api_java_proto", - ], -) - -java_gapic_test( - name = "agentendpoint_java_gapic_test_suite", - test_classes = [ - "com.google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointServiceClientHttpJsonTest", - "com.google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointServiceClientTest", - ], - runtime_deps = [":agentendpoint_java_gapic_test"], -) - -# Open Source Packages -java_gapic_assembly_gradle_pkg( - name = "google-cloud-osconfig-agentendpoint-v1beta-java", - include_samples = True, - transport = "grpc+rest", - deps = [ - ":agentendpoint_java_gapic", - ":agentendpoint_java_grpc", - ":agentendpoint_java_proto", - ":agentendpoint_proto", - ], -) - -############################################################################## -# Go -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "go_gapic_assembly_pkg", - "go_gapic_library", - "go_proto_library", - "go_test", -) - -go_proto_library( - name = "agentendpoint_go_proto", - compilers = ["@io_bazel_rules_go//proto:go_grpc"], - importpath = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1beta", - protos = [":agentendpoint_proto"], - deps = [ - "//google/api:annotations_go_proto", - ], -) - -go_gapic_library( - name = "agentendpoint_go_gapic", - srcs = [":agentendpoint_proto_with_info"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - importpath = "cloud.google.com/go/osconfig/agentendpoint/apiv1beta;agentendpoint", - metadata = True, - service_yaml = "osconfig_v1beta.yaml", - transport = "grpc+rest", - deps = [ - ":agentendpoint_go_proto", - ], -) - -go_test( - name = "agentendpoint_go_gapic_test", - srcs = [":agentendpoint_go_gapic_srcjar_test"], - embed = [":agentendpoint_go_gapic"], - importpath = "cloud.google.com/go/osconfig/agentendpoint/apiv1beta", -) - -# Open Source Packages -go_gapic_assembly_pkg( - name = "gapi-cloud-osconfig-agentendpoint-v1beta-go", - deps = [ - ":agentendpoint_go_gapic", - ":agentendpoint_go_gapic_srcjar-metadata.srcjar", - ":agentendpoint_go_gapic_srcjar-test.srcjar", - ":agentendpoint_go_proto", - ], -) - -############################################################################## -# Python -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "py_gapic_assembly_pkg", - "py_gapic_library", - "py_test", -) - -py_gapic_library( - name = "agentendpoint_py_gapic", - srcs = [":agentendpoint_proto"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - transport = "grpc", -) - -py_test( - name = "agentendpoint_py_gapic_test", - srcs = [ - "agentendpoint_py_gapic_pytest.py", - "agentendpoint_py_gapic_test.py", - ], - legacy_create_init = False, - deps = [":agentendpoint_py_gapic"], -) - -# Open Source Packages -py_gapic_assembly_pkg( - name = "osconfig-agentendpoint-v1beta-py", - deps = [ - ":agentendpoint_py_gapic", - ], -) - -############################################################################## -# PHP -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "php_gapic_assembly_pkg", - "php_gapic_library", - "php_grpc_library", - "php_proto_library", -) - -php_proto_library( - name = "agentendpoint_php_proto", - deps = [":agentendpoint_proto"], -) - -php_grpc_library( - name = "agentendpoint_php_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_php_proto"], -) - -php_gapic_library( - name = "agentendpoint_php_gapic", - srcs = [":agentendpoint_proto_with_info"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - service_yaml = "osconfig_v1beta.yaml", - deps = [ - ":agentendpoint_php_grpc", - ":agentendpoint_php_proto", - ], -) - -# Open Source Packages -php_gapic_assembly_pkg( - name = "google-cloud-osconfig-agentendpoint-v1beta-php", - deps = [ - ":agentendpoint_php_gapic", - ":agentendpoint_php_grpc", - ":agentendpoint_php_proto", - ], -) - -############################################################################## -# Node.js -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "nodejs_gapic_assembly_pkg", - "nodejs_gapic_library", -) - -nodejs_gapic_library( - name = "agentendpoint_nodejs_gapic", - package_name = "@google-cloud/agentendpoint", - src = ":agentendpoint_proto_with_info", - extra_protoc_parameters = ["metadata"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - package = "google.cloud.osconfig.agentendpoint.v1beta", - service_yaml = "osconfig_v1beta.yaml", - deps = [], -) - -nodejs_gapic_assembly_pkg( - name = "osconfig-agentendpoint-v1beta-nodejs", - deps = [ - ":agentendpoint_nodejs_gapic", - ":agentendpoint_proto", - ], -) - -############################################################################## -# Ruby -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "ruby_cloud_gapic_library", - "ruby_gapic_assembly_pkg", - "ruby_grpc_library", - "ruby_proto_library", -) - -ruby_proto_library( - name = "agentendpoint_ruby_proto", - deps = [":agentendpoint_proto"], -) - -ruby_grpc_library( - name = "agentendpoint_ruby_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_ruby_proto"], -) - -ruby_cloud_gapic_library( - name = "agentendpoint_ruby_gapic", - srcs = [":agentendpoint_proto_with_info"], - extra_protoc_parameters = ["ruby-cloud-gem-name=google-cloud-agentendpoint-v1beta"], - grpc_service_config = "agentendpoint_grpc_service_config.json", - deps = [ - ":agentendpoint_ruby_grpc", - ":agentendpoint_ruby_proto", - ], -) - -# Open Source Packages -ruby_gapic_assembly_pkg( - name = "google-cloud-osconfig-agentendpoint-v1beta-ruby", - deps = [ - ":agentendpoint_ruby_gapic", - ":agentendpoint_ruby_grpc", - ":agentendpoint_ruby_proto", - ], -) - -############################################################################## -# C# -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "csharp_gapic_assembly_pkg", - "csharp_gapic_library", - "csharp_grpc_library", - "csharp_proto_library", -) - -csharp_proto_library( - name = "agentendpoint_csharp_proto", - deps = [":agentendpoint_proto"], -) - -csharp_grpc_library( - name = "agentendpoint_csharp_grpc", - srcs = [":agentendpoint_proto"], - deps = [":agentendpoint_csharp_proto"], -) - -csharp_gapic_library( - name = "agentendpoint_csharp_gapic", - srcs = [":agentendpoint_proto_with_info"], - common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", - grpc_service_config = "agentendpoint_grpc_service_config.json", - service_yaml = "osconfig_v1beta.yaml", - deps = [ - ":agentendpoint_csharp_grpc", - ":agentendpoint_csharp_proto", - ], -) - -# Open Source Packages -csharp_gapic_assembly_pkg( - name = "google-cloud-osconfig-agentendpoint-v1beta-csharp", - deps = [ - ":agentendpoint_csharp_gapic", - ":agentendpoint_csharp_grpc", - ":agentendpoint_csharp_proto", - ], -) - -############################################################################## -# C++ -############################################################################## -load( - "@com_google_googleapis_imports//:imports.bzl", - "cc_grpc_library", - "cc_proto_library", -) - -cc_proto_library( - name = "agentendpoint_cc_proto", - deps = [":agentendpoint_proto"], -) - -cc_grpc_library( - name = "agentendpoint_cc_grpc", - srcs = [":agentendpoint_proto"], - grpc_only = True, - deps = [":agentendpoint_cc_proto"], -) diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint.proto deleted file mode 100644 index db8330f..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint.proto +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1beta; - -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/cloud/osconfig/agentendpoint/v1beta/guest_policies.proto"; -import "google/cloud/osconfig/agentendpoint/v1beta/tasks.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1beta;agentendpoint"; -option java_multiple_files = true; -option java_outer_classname = "AgentEndpointProto"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1beta"; -option php_namespace = "Google\\Cloud\\OsConfig\\V1beta"; - -// OS Config agent endpoint API. -service AgentEndpointService { - option (google.api.default_host) = "osconfig.googleapis.com"; - - // Stream established by client to receive Task notifications. - rpc ReceiveTaskNotification(ReceiveTaskNotificationRequest) returns (stream ReceiveTaskNotificationResponse) { - option (google.api.method_signature) = "instance_id_token,agent_version"; - } - - // Signals the start of a task execution and returns the task info. - rpc StartNextTask(StartNextTaskRequest) returns (StartNextTaskResponse) { - option (google.api.method_signature) = "instance_id_token"; - } - - // Signals an intermediary progress checkpoint in task execution. - rpc ReportTaskProgress(ReportTaskProgressRequest) returns (ReportTaskProgressResponse) { - option (google.api.method_signature) = "instance_id_token,task_id,task_type"; - } - - // Signals that the task execution is complete and optionally returns the next - // task. - rpc ReportTaskComplete(ReportTaskCompleteRequest) returns (ReportTaskCompleteResponse) { - option (google.api.method_signature) = "instance_id_token,task_id,task_type,error_message"; - } - - // Lookup the effective guest policy that applies to a VM instance. This - // lookup merges all policies that are assigned to the instance ancestry. - rpc LookupEffectiveGuestPolicy(LookupEffectiveGuestPolicyRequest) returns (EffectiveGuestPolicy) { - option (google.api.method_signature) = "instance_id_token,os_short_name,os_version,os_architecture"; - } - - // Registers the agent running on the VM. - rpc RegisterAgent(RegisterAgentRequest) returns (RegisterAgentResponse) { - option (google.api.method_signature) = "instance_id_token,agent_version,supported_capabilities"; - } -} - -// A request message to receive task notifications. -message ReceiveTaskNotificationRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The version of the agent making the request. - string agent_version = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// The streaming rpc message that notifies the agent when it has a task -// that it needs to perform on the VM instance. -message ReceiveTaskNotificationResponse { - -} - -// A request message for signaling the start of a task execution. -message StartNextTaskRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// A response message that contains the details of the task to work on. -message StartNextTaskResponse { - // The details of the task that should be worked on. Can be empty if there - // is no new task to work on. - Task task = 1; -} - -// A request message for reporting the progress of current task. -message ReportTaskProgressRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. Unique identifier of the task this applies to. - string task_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The type of task to report progress on. - // - // Progress must include the appropriate message based on this enum as - // specified below: - // APPLY_PATCHES = ApplyPatchesTaskProgress - // EXEC_STEP = Progress not supported for this type. - // APPLY_CONFIG_TASK = ApplyConfigTaskProgress - TaskType task_type = 3 [(google.api.field_behavior) = REQUIRED]; - - // Intermediate progress of the current task. - oneof progress { - // Details about the progress of the apply patches task. - ApplyPatchesTaskProgress apply_patches_task_progress = 4; - - // Details about the progress of the exec step task. - ExecStepTaskProgress exec_step_task_progress = 5; - } -} - -// The response message after the agent reported the current task progress. -message ReportTaskProgressResponse { - // Instructs agent to continue or not. - TaskDirective task_directive = 1; -} - -// A request message for signaling the completion of a task execution. -message ReportTaskCompleteRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. Unique identifier of the task this applies to. - string task_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The type of task to report completed. - // - // The output must include the appropriate message based on the following - // enum values: - // APPLY_PATCHES = ApplyPatchesTaskOutput - // EXEC_STEP = ExecStepTaskOutput - // APPLY_CONFIG_TASK = ApplyConfigTaskOutput - TaskType task_type = 3 [(google.api.field_behavior) = REQUIRED]; - - // Descriptive error message if the task execution ended in error. - string error_message = 4; - - // Final output details of the current task. - oneof output { - // Final output details of the apply patches task; - ApplyPatchesTaskOutput apply_patches_task_output = 5; - - // Final output details of the exec step task; - ExecStepTaskOutput exec_step_task_output = 6; - } -} - -// The response message after the agent signaled the current task complete. -message ReportTaskCompleteResponse { - -} - -// The request message for registering the agent. -message RegisterAgentRequest { - // Required. This is the Compute Engine instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The version of the agent. - string agent_version = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. The capabilities supported by the agent. Supported values are: - // PATCH_GA - // GUEST_POLICY_BETA - // CONFIG_V1 - repeated string supported_capabilities = 3 [(google.api.field_behavior) = REQUIRED]; - - // The operating system long name. - // For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019 - // Datacenter'. - string os_long_name = 4; - - // The operating system short name. - // For example, 'windows' or 'debian'. - string os_short_name = 5; - - // The version of the operating system. - string os_version = 6; - - // The system architecture of the operating system. - string os_architecture = 7; -} - -// The response message after the agent registered. -message RegisterAgentResponse { - -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint_grpc_service_config.json b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint_grpc_service_config.json deleted file mode 100644 index 0831402..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/agentendpoint_grpc_service_config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "methodConfig": [{ - "name": [{ "service": "google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointService" }], - "timeout": "60s", - "retryPolicy": { - "maxAttempts": 5, - "initialBackoff": "1s", - "maxBackoff": "60s", - "backoffMultiplier": 1.3, - "retryableStatusCodes": ["UNAVAILABLE"] - } - },{ - "name": [ - { - "service": "google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointService", - "method": "ReceiveTaskNotification" - } - ], - "timeout": "3600s", - "retryPolicy": { - "maxAttempts": 5, - "initialBackoff": "1s", - "maxBackoff": "60s", - "backoffMultiplier": 1.3, - "retryableStatusCodes": [ - "DEADLINE_EXCEEDED", - "CANCELLED", - "ABORTED", - "INTERNAL", - "UNAVAILABLE" - ] - } - }] -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/guest_policies.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/guest_policies.proto deleted file mode 100644 index c8d9dd6..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/guest_policies.proto +++ /dev/null @@ -1,562 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1beta; - -import "google/api/field_behavior.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1beta;agentendpoint"; -option java_outer_classname = "GuestPolicies"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1beta"; -option php_namespace = "Google\\Cloud\\OsConfig\\V1beta"; - -// The desired state that the OS Config agent will maintain on the VM. -enum DesiredState { - // The default is to ensure the package is installed. - DESIRED_STATE_UNSPECIFIED = 0; - - // The agent ensures that the package is installed. - INSTALLED = 1; - - // The agent ensures that the package is installed and - // periodically checks for and install any updates. - UPDATED = 2; - - // The agent ensures that the package is not installed and uninstall it - // if detected. - REMOVED = 3; -} - -// Package is a reference to the software package to be installed or removed. -// The agent on the VM instance uses the system package manager to apply the -// config. -// -// -// These are the commands that the agent uses to install or remove -// packages. -// -// Apt -// install: `apt-get update && apt-get -y install package1 package2 package3` -// remove: `apt-get -y remove package1 package2 package3` -// -// Yum -// install: `yum -y install package1 package2 package3` -// remove: `yum -y remove package1 package2 package3` -// -// Zypper -// install: `zypper install package1 package2 package3` -// remove: `zypper rm package1 package2` -// -// Googet -// install: `googet -noconfirm install package1 package2 package3` -// remove: `googet -noconfirm remove package1 package2 package3` -message Package { - // Types of package managers that may be used to manage this package. - enum Manager { - // The default behavior is ANY. - MANAGER_UNSPECIFIED = 0; - - // Apply this package config using the default system package manager. - ANY = 1; - - // Apply this package config only if Apt is available on the system. - APT = 2; - - // Apply this package config only if Yum is available on the system. - YUM = 3; - - // Apply this package config only if Zypper is available on the system. - ZYPPER = 4; - - // Apply this package config only if GooGet is available on the system. - GOO = 5; - } - - // The name of the package. A package is uniquely identified for conflict - // validation by checking the package name and the manager(s) that the - // package targets. - string name = 1; - - // The desired_state the agent should maintain for this package. The - // default is to ensure the package is installed. - DesiredState desired_state = 2; - - // Type of package manager that can be used to install this package. - // If a system does not have the package manager, the package is not - // installed or removed no error message is returned. By default, - // or if you specify `ANY`, - // the agent attempts to install and remove this package using the default - // package manager. This is useful when creating a policy that applies to - // different types of systems. - // - // The default behavior is ANY. - Manager manager = 3; -} - -// Represents a single Apt package repository. This repository is added to -// a repo file that is stored at -// `/etc/apt/sources.list.d/google_osconfig.list`. -message AptRepository { - // Type of archive. - enum ArchiveType { - // Unspecified. - ARCHIVE_TYPE_UNSPECIFIED = 0; - - // DEB indicates that the archive contains binary files. - DEB = 1; - - // DEB_SRC indicates that the archive contains source files. - DEB_SRC = 2; - } - - // Type of archive files in this repository. The default behavior is DEB. - ArchiveType archive_type = 1; - - // URI for this repository. - string uri = 2; - - // Distribution of this repository. - string distribution = 3; - - // List of components for this repository. Must contain at least one item. - repeated string components = 4; - - // URI of the key file for this repository. The agent maintains - // a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing - // all the keys in any applied guest policy. - string gpg_key = 5; -} - -// Represents a single Yum package repository. This repository is added to a -// repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`. -message YumRepository { - // A one word, unique name for this repository. This is - // the `repo id` in the Yum config file and also the `display_name` if - // `display_name` is omitted. This id is also used as the unique identifier - // when checking for guest policy conflicts. - string id = 1; - - // The display name of the repository. - string display_name = 2; - - // The location of the repository directory. - string base_url = 3; - - // URIs of GPG keys. - repeated string gpg_keys = 4; -} - -// Represents a single Zypper package repository. This repository is added to a -// repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`. -message ZypperRepository { - // A one word, unique name for this repository. This is - // the `repo id` in the zypper config file and also the `display_name` if - // `display_name` is omitted. This id is also used as the unique identifier - // when checking for guest policy conflicts. - string id = 1; - - // The display name of the repository. - string display_name = 2; - - // The location of the repository directory. - string base_url = 3; - - // URIs of GPG keys. - repeated string gpg_keys = 4; -} - -// Represents a Goo package repository. These is added to a repo file -// that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo. -message GooRepository { - // The name of the repository. - string name = 1; - - // The url of the repository. - string url = 2; -} - -// A package repository. -message PackageRepository { - // A specific type of repository. - oneof repository { - // An Apt Repository. - AptRepository apt = 1; - - // A Yum Repository. - YumRepository yum = 2; - - // A Zypper Repository. - ZypperRepository zypper = 3; - - // A Goo Repository. - GooRepository goo = 4; - } -} - -// A software recipe is a set of instructions for installing and configuring a -// piece of software. It consists of a set of artifacts that are -// downloaded, and a set of steps that install, configure, and/or update the -// software. -// -// Recipes support installing and updating software from artifacts in the -// following formats: -// Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. -// -// Additionally, recipes support executing a script (either defined in a file or -// directly in this api) in bash, sh, cmd, and powershell. -// -// Updating a software recipe -// -// If a recipe is assigned to an instance and there is a recipe with the same -// name but a lower version already installed and the assigned state -// of the recipe is `INSTALLED_KEEP_UPDATED`, then the recipe is updated to -// the new version. -// -// Script Working Directories -// -// Each script or execution step is run in its own temporary directory which -// is deleted after completing the step. -message SoftwareRecipe { - // Specifies a resource to be used in the recipe. - message Artifact { - // Specifies an artifact available via some URI. - message Remote { - // URI from which to fetch the object. It should contain both the protocol - // and path following the format {protocol}://{location}. - string uri = 1; - - // Must be provided if `allow_insecure` is `false`. - // SHA256 checksum in hex format, to compare to the checksum of the - // artifact. If the checksum is not empty and it doesn't match the - // artifact then the recipe installation fails before running any of the - // steps. - string checksum = 2; - } - - // Specifies an artifact available as a Cloud Storage object. - message Gcs { - // Bucket of the Cloud Storage object. - // Given an example URL: - // `https://storage.googleapis.com/my-bucket/foo/bar#1234567` - // this value would be `my-bucket`. - string bucket = 1; - - // Name of the Cloud Storage object. - // As specified [here] - // (https://cloud.google.com/storage/docs/naming#objectnames) - // Given an example URL: - // `https://storage.googleapis.com/my-bucket/foo/bar#1234567` - // this value would be `foo/bar`. - string object = 2; - - // Must be provided if allow_insecure is false. - // Generation number of the Cloud Storage object. - // `https://storage.googleapis.com/my-bucket/foo/bar#1234567` - // this value would be `1234567`. - int64 generation = 3; - } - - // Id of the artifact, which the installation and update steps of this - // recipe can reference. Artifacts in a recipe cannot have the same id. - string id = 1; - - // A specific type of artifact. - oneof artifact { - // A generic remote artifact. - Remote remote = 2; - - // A Cloud Storage artifact. - Gcs gcs = 3; - } - - // Defaults to false. When false, recipes are subject to validations - // based on the artifact type: - // - // Remote: A checksum must be specified, and only protocols with - // transport-layer security are permitted. - // GCS: An object generation number must be specified. - bool allow_insecure = 4; - } - - // An action that can be taken as part of installing or updating a recipe. - message Step { - // Copies the artifact to the specified path on the instance. - message CopyFile { - // The id of the relevant artifact in the recipe. - string artifact_id = 1; - - // The absolute path on the instance to put the file. - string destination = 2; - - // Whether to allow this step to overwrite existing files. If this is - // false and the file already exists the file is not overwritten - // and the step is considered a success. Defaults to false. - bool overwrite = 3; - - // Consists of three octal digits which represent, in - // order, the permissions of the owner, group, and other users for the - // file (similarly to the numeric mode used in the linux chmod utility). - // Each digit represents a three bit number with the 4 bit - // corresponding to the read permissions, the 2 bit corresponds to the - // write bit, and the one bit corresponds to the execute permission. - // Default behavior is 755. - // - // Below are some examples of permissions and their associated values: - // read, write, and execute: 7 - // read and execute: 5 - // read and write: 6 - // read only: 4 - string permissions = 4; - } - - // Extracts an archive of the type specified in the specified directory. - message ExtractArchive { - // Specifying the type of archive. - enum ArchiveType { - // Indicates that the archive type isn't specified. - ARCHIVE_TYPE_UNSPECIFIED = 0; - - // Indicates that the archive is a tar archive with no encryption. - TAR = 1; - - // Indicates that the archive is a tar archive with gzip encryption. - TAR_GZIP = 2; - - // Indicates that the archive is a tar archive with bzip encryption. - TAR_BZIP = 3; - - // Indicates that the archive is a tar archive with lzma encryption. - TAR_LZMA = 4; - - // Indicates that the archive is a tar archive with xz encryption. - TAR_XZ = 5; - - // Indicates that the archive is a zip archive. - ZIP = 11; - } - - // The id of the relevant artifact in the recipe. - string artifact_id = 1; - - // Directory to extract archive to. - // Defaults to `/` on Linux or `C:\` on Windows. - string destination = 2; - - // The type of the archive to extract. - ArchiveType type = 3; - } - - // Installs an MSI file. - message InstallMsi { - // The id of the relevant artifact in the recipe. - string artifact_id = 1; - - // The flags to use when installing the MSI - // defaults to ["/i"] (i.e. the install flag). - repeated string flags = 2; - - // Return codes that indicate that the software installed or updated - // successfully. Behaviour defaults to [0] - repeated int32 allowed_exit_codes = 3; - } - - // Installs a deb via dpkg. - message InstallDpkg { - // The id of the relevant artifact in the recipe. - string artifact_id = 1; - } - - // Installs an rpm file via the rpm utility. - message InstallRpm { - // The id of the relevant artifact in the recipe. - string artifact_id = 1; - } - - // Executes an artifact or local file. - message ExecFile { - // Location of the file to execute. - oneof location_type { - // The id of the relevant artifact in the recipe. - string artifact_id = 1; - - // The absolute path of the file on the local filesystem. - string local_path = 2; - } - - // Arguments to be passed to the provided executable. - repeated string args = 3; - - // Defaults to [0]. A list of possible return values that the program - // can return to indicate a success. - repeated int32 allowed_exit_codes = 4; - } - - // Runs a script through an interpreter. - message RunScript { - // The interpreter used to execute a script. - enum Interpreter { - // Default value for ScriptType. - INTERPRETER_UNSPECIFIED = 0; - - // Indicates that the script is run with `/bin/sh` on Linux and `cmd` - // on windows. - SHELL = 1; - - // Indicates that the script is run with powershell. - POWERSHELL = 3; - } - - // The shell script to be executed. - string script = 1; - - // Return codes that indicate that the software installed or updated - // successfully. Behaviour defaults to [0] - repeated int32 allowed_exit_codes = 2; - - // The script interpreter to use to run the script. If no interpreter is - // specified the script is executed directly, which likely - // only succeed for scripts with - // [shebang lines](https://en.wikipedia.org/wiki/Shebang_(Unix)). - Interpreter interpreter = 3; - } - - // A specific type of step. - oneof step { - // Copies a file onto the instance. - CopyFile file_copy = 1; - - // Extracts an archive into the specified directory. - ExtractArchive archive_extraction = 2; - - // Installs an MSI file. - InstallMsi msi_installation = 3; - - // Installs a deb file via dpkg. - InstallDpkg dpkg_installation = 4; - - // Installs an rpm file via the rpm utility. - InstallRpm rpm_installation = 5; - - // Executes an artifact or local file. - ExecFile file_exec = 6; - - // Runs commands in a shell. - RunScript script_run = 7; - } - } - - // Unique identifier for the recipe. Only one recipe with a given name is - // installed on an instance. - // - // Names are also used to identify resources which helps to determine whether - // guest policies have conflicts. This means that requests to create multiple - // recipes with the same name and version are rejected since they - // could potentially have conflicting assignments. - string name = 1; - - // The version of this software recipe. Version can be up to 4 period - // separated numbers (e.g. 12.34.56.78). - string version = 2; - - // Resources available to be used in the steps in the recipe. - repeated Artifact artifacts = 3; - - // Actions to be taken for installing this recipe. On failure it stops - // executing steps and does not attempt another installation. Any steps taken - // (including partially completed steps) are not rolled back. Install steps - // must be specified and are used on first installation. - repeated Step install_steps = 4; - - // Actions to be taken for updating this recipe. On failure it stops - // executing steps and does not attempt another update for this recipe. Any - // steps taken (including partially completed steps) are not rolled back. - // Upgrade steps are not mandatory and are only used when upgrading. - repeated Step update_steps = 5; - - // Default is INSTALLED. The desired state the agent should maintain for this - // recipe. - // - // INSTALLED: The software recipe is installed on the instance but won't be - // updated to new versions. - // UPDATED: The software recipe is installed on the instance. The recipe is - // updated to a higher version, if a higher version of - // the recipe is assigned to this instance. - // REMOVE: Remove is unsupported for software recipes and attempts to - // create or update a recipe to the REMOVE state is rejected. - DesiredState desired_state = 6; -} - -// A request message for getting effective policy assigned to the instance. -message LookupEffectiveGuestPolicyRequest { - // Required. This is the GCE instance identity token described in - // https://cloud.google.com/compute/docs/instances/verifying-instance-identity - // where the audience is 'osconfig.googleapis.com' and the format is 'full'. - string instance_id_token = 1 [(google.api.field_behavior) = REQUIRED]; - - // Short name of the OS running on the instance. The OS Config agent only - // provideS this field for targeting if OS Inventory is enabled for that - // instance. - string os_short_name = 2; - - // Version of the OS running on the instance. The OS Config agent only - // provide this field for targeting if OS Inventory is enabled for that - // VM instance. - string os_version = 3; - - // Architecture of OS running on the instance. The OS Config agent only - // provide this field for targeting if OS Inventory is enabled for that - // instance. - string os_architecture = 4; -} - -// The effective guest policy assigned to the instance. -message EffectiveGuestPolicy { - // A guest policy package including its source. - message SourcedPackage { - // Name of the guest policy providing this config. - string source = 1; - - // A software package to configure on the VM instance. - Package package = 2; - } - - // A guest policy package repository including its source. - message SourcedPackageRepository { - // Name of the guest policy providing this config. - string source = 1; - - // A software package repository to configure on the VM instance. - PackageRepository package_repository = 2; - } - - // A guest policy recipe including its source. - message SourcedSoftwareRecipe { - // Name of the guest policy providing this config. - string source = 1; - - // A software recipe to configure on the VM instance. - SoftwareRecipe software_recipe = 2; - } - - // List of package configurations assigned to the VM instance. - repeated SourcedPackage packages = 1; - - // List of package repository configurations assigned to the VM instance. - repeated SourcedPackageRepository package_repositories = 2; - - // List of recipes assigned to the VM instance. - repeated SourcedSoftwareRecipe software_recipes = 3; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/osconfig_gapic.yaml b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/osconfig_gapic.yaml deleted file mode 100644 index 0bcb880..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/osconfig_gapic.yaml +++ /dev/null @@ -1,2 +0,0 @@ -type: com.google.api.codegen.ConfigProto -config_schema_version: 2.0.0 diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/osconfig_v1beta.yaml b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/osconfig_v1beta.yaml deleted file mode 100644 index 4755c63..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/osconfig_v1beta.yaml +++ /dev/null @@ -1,30 +0,0 @@ -type: google.api.Service -config_version: 3 -name: osconfig.googleapis.com -title: OS Config API - -apis: -- name: google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointService - -documentation: - summary: |- - OS management tools that can be used for patch management, patch - compliance, and configuration management on VM instances. - -backend: - rules: - - selector: 'google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointService.*' - deadline: 30.0 - - selector: google.cloud.osconfig.agentendpoint.v1beta.AgentEndpointService.ReceiveTaskNotification - deadline: 3600.0 - -authentication: - rules: - - selector: google.longrunning.Operations.CancelOperation - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform - - selector: google.longrunning.Operations.GetOperation - oauth: - canonical_scopes: |- - https://www.googleapis.com/auth/cloud-platform diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/patch_jobs.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/patch_jobs.proto deleted file mode 100644 index 8a827b8..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/patch_jobs.proto +++ /dev/null @@ -1,296 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1beta; - - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1beta;agentendpoint"; -option java_outer_classname = "PatchJobs"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1beta"; -option php_namespace = "Google\\Cloud\\OsConfig\\V1beta"; - -// Patch configuration specifications. Contains details on how to -// apply patches to a VM instance. -message PatchConfig { - // Post-patch reboot settings. - enum RebootConfig { - // The default behavior is DEFAULT. - REBOOT_CONFIG_UNSPECIFIED = 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. - DEFAULT = 1; - - // Always reboot the machine after the update completes. - ALWAYS = 2; - - // Never reboot the machine after the update completes. - NEVER = 3; - } - - // Post-patch reboot settings. - RebootConfig reboot_config = 1; - - // Retry strategy can be defined to have the agent retry patching - // during the window if patching fails. If omitted, the agent will use its - // default retry strategy. - RetryStrategy retry_strategy = 2; - - // Apt update settings. Use this override the default apt patch rules. - AptSettings apt = 3; - - // Yum update settings. Use this override the default yum patch rules. - YumSettings yum = 4; - - // Goo update settings. Use this override the default goo patch rules. - GooSettings goo = 5; - - // Zypper update settings. Use this override the default zypper patch rules. - ZypperSettings zypper = 6; - - // Windows update settings. Use this override the default windows patch rules. - WindowsUpdateSettings windows_update = 7; - - // The ExecStep to run before the patch update. - ExecStep pre_step = 8; - - // The ExecStep to run after the patch update. - ExecStep post_step = 9; - - // Allows the patch job to run on Managed instance groups (MIGs). - bool mig_instances_allowed = 10; -} - -// Apt patching will be performed by executing `apt-get update && apt-get -// upgrade`. Additional options can be set to control how this is executed. -message AptSettings { - // Apt patch type. - enum Type { - // By default, upgrade will be performed. - TYPE_UNSPECIFIED = 0; - - // Runs `apt-get dist-upgrade`. - DIST = 1; - - // Runs `apt-get upgrade`. - UPGRADE = 2; - } - - // By changing the type to DIST, the patching will be performed - // using `apt-get dist-upgrade` instead. - Type type = 1; - - // List of packages to exclude from update. - repeated string excludes = 2; - - // 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. - repeated string exclusive_packages = 3; -} - -// Yum patching will be 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. -message YumSettings { - // Adds the `--security` flag to `yum update`. Not supported on - // all platforms. - bool security = 1; - - // Will cause patch to run `yum update-minimal` instead. - bool minimal = 2; - - // List of packages to exclude from update. These packages will be excluded by - // using the yum `--exclude` flag. - repeated string excludes = 3; - - // 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. - repeated string exclusive_packages = 4; -} - -// Googet patching is performed by running `googet update`. -message GooSettings { - -} - -// Zypper patching is performed by running `zypper patch`. -// See also https://en.opensuse.org/SDB:Zypper_manual. -message ZypperSettings { - // Adds the `--with-optional` flag to `zypper patch`. - bool with_optional = 1; - - // Adds the `--with-update` flag, to `zypper patch`. - bool with_update = 2; - - // Install only patches with these categories. - // Common categories include security, recommended, and feature. - repeated string categories = 3; - - // Install only patches with these severities. - // Common severities include critical, important, moderate, and low. - repeated string severities = 4; - - // List of patches to exclude from update. - repeated string excludes = 5; - - // 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. - repeated string exclusive_patches = 6; -} - -// Windows patching is performed using the Windows Update Agent. -message WindowsUpdateSettings { - // 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 - enum Classification { - // Invalid. If classifications are included, they must be specified. - CLASSIFICATION_UNSPECIFIED = 0; - - // "A widely released fix for a specific problem that addresses a critical, - // non-security-related bug." [1] - CRITICAL = 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] - SECURITY = 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] - DEFINITION = 3; - - // "Software that controls the input and output of a device." [1] - DRIVER = 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] - FEATURE_PACK = 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] - SERVICE_PACK = 6; - - // "A utility or feature that helps complete a task or set of tasks." [1] - TOOL = 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] - UPDATE_ROLLUP = 8; - - // "A widely released fix for a specific problem. An update addresses a - // noncritical, non-security-related bug." [1] - UPDATE = 9; - } - - // Only apply updates of these windows update classifications. If empty, all - // updates will be applied. - repeated Classification classifications = 1; - - // List of KBs to exclude from update. - repeated string excludes = 2; - - // 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. - repeated string exclusive_patches = 3; -} - -// The strategy for retrying failed patches during the patch window. -message RetryStrategy { - // If true, the agent will continue to try and patch until the window has - // ended. - bool enabled = 1; -} - -// A step that runs an executable for a PatchJob. -message ExecStep { - // The ExecStepConfig for all Linux VMs targeted by the PatchJob. - ExecStepConfig linux_exec_step_config = 1; - - // The ExecStepConfig for all Windows VMs targeted by the PatchJob. - ExecStepConfig windows_exec_step_config = 2; -} - -// Common configurations for an ExecStep. -message ExecStepConfig { - // The interpreter used to execute the a file. - enum Interpreter { - // Deprecated, defaults to NONE for compatibility reasons. - INTERPRETER_UNSPECIFIED = 0; - - // Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the - // interpreter will be parsed from the shebang line of the script if - // unspecified. - NONE = 3; - - // Indicates that the script will be run with /bin/sh on Linux and cmd - // on windows. - SHELL = 1; - - // Indicates that the file will be run with PowerShell. - POWERSHELL = 2; - } - - // Location of the executable. - oneof executable { - // An absolute path to the executable on the VM. - string local_path = 1; - - // A GCS object containing the executable. - GcsObject gcs_object = 2; - } - - // Defaults to [0]. A list of possible return values that the - // execution can return to indicate a success. - repeated int32 allowed_success_codes = 3; - - // 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. - // [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)). - Interpreter interpreter = 4; -} - -// GCS object representation. -message GcsObject { - // Bucket of the GCS object. - string bucket = 1; - - // Name of the GCS object. - string object = 2; - - // Generation number of the GCS object. This is used to ensure that the - // ExecStep specified by this PatchJob does not change. - int64 generation_number = 3; -} diff --git a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/tasks.proto b/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/tasks.proto deleted file mode 100644 index 3d522b0..0000000 --- a/third_party/googleapis/google/cloud/osconfig/agentendpoint/v1beta/tasks.proto +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.cloud.osconfig.agentendpoint.v1beta; - -import "google/api/field_behavior.proto"; -import "google/cloud/osconfig/agentendpoint/v1beta/patch_jobs.proto"; - -option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/agentendpoint/v1beta;agentendpoint"; -option java_outer_classname = "Tasks"; -option java_package = "com.google.cloud.osconfig.agentendpoint.v1beta"; -option php_namespace = "Google\\Cloud\\OsConfig\\V1beta"; - -// Specifies the current agent behavior. -enum TaskDirective { - // Unspecified is invalid. - TASK_DIRECTIVE_UNSPECIFIED = 0; - - // The task should continue to progress. - CONTINUE = 1; - - // Task should not be started, or if already in progress, should stop - // at first safe stopping point. Task should be considered done and will - // never repeat. - STOP = 2; -} - -// Specifies the type of task to perform. -enum TaskType { - // Unspecified is invalid. - TASK_TYPE_UNSPECIFIED = 0; - - // The apply patches task. - APPLY_PATCHES = 1; - - // The exec step task. - EXEC_STEP_TASK = 2; -} - -// A unit of work to be performed by the agent. -message Task { - // Unique task id. - string task_id = 1; - - // The type of task to perform. - // - // Task details must include the appropriate message based on this enum as - // specified below: - // APPLY_PATCHES = ApplyPatchesTask - // EXEC_STEP = ExecStepTask; - TaskType task_type = 2; - - // Current directive to the agent. - TaskDirective task_directive = 3; - - // Specific details about the current task to perform. - oneof task_details { - // Details about the apply patches task to perform. - ApplyPatchesTask apply_patches_task = 4; - - // Details about the exec step task to perform. - ExecStepTask exec_step_task = 5; - } - - // Labels describing the task. Used for logging by the agent. - map<string, string> service_labels = 6; -} - -// Message which instructs agent to apply patches. -message ApplyPatchesTask { - // Specific information about how patches should be applied. - PatchConfig patch_config = 1; - - // If true, the agent will report its status as it goes through the motions - // but won't actually run any updates or perform any reboots. - bool dry_run = 3; -} - -// Information reported from the agent about applying patches execution. -message ApplyPatchesTaskProgress { - // The intermediate states of applying patches. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The agent has started the patch task. - STARTED = 4; - - // The agent is currently downloading patches. - DOWNLOADING_PATCHES = 1; - - // The agent is currently applying patches. - APPLYING_PATCHES = 2; - - // The agent is currently rebooting the VM instance. - REBOOTING = 3; - } - - // Required. The current state of this patch execution. - State state = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Information reported from the agent about applying patches execution. -message ApplyPatchesTaskOutput { - // The final states of applying patches. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // Applying patches completed successfully. - SUCCEEDED = 1; - - // Applying patches completed successfully, but a reboot is required. - SUCCEEDED_REBOOT_REQUIRED = 2; - - // Applying patches failed. - FAILED = 3; - } - - // Required. The final state of this task. - State state = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Message which instructs agent to execute the following command. -message ExecStepTask { - // Details of the exec step to run. - ExecStep exec_step = 1; -} - -// Information reported from the agent about the exec step execution. -message ExecStepTaskProgress { - // The intermediate states of exec steps. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The agent has started the exec step task. - STARTED = 1; - } - - // Required. The current state of this exec step. - State state = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// Information reported from the agent about the exec step execution. -message ExecStepTaskOutput { - // The final states of exec steps. - enum State { - // Unspecified is invalid. - STATE_UNSPECIFIED = 0; - - // The exec step completed normally. - COMPLETED = 1; - - // The exec step was terminated because it took too long. - TIMED_OUT = 2; - - // The exec step task was cancelled before it started. - CANCELLED = 3; - } - - // Required. The final state of the exec step. - State state = 1 [(google.api.field_behavior) = REQUIRED]; - - // Required. The exit code received from the script which ran as part of the exec step. - int32 exit_code = 2 [(google.api.field_behavior) = REQUIRED]; -} |
