google-cloud-security_center-v2 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/google/cloud/security_center/v2/security_center/client.rb +4 -8
- data/lib/google/cloud/security_center/v2/security_center/paths.rb +118 -23
- data/lib/google/cloud/security_center/v2/security_center/rest/client.rb +4 -8
- data/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb +65 -0
- data/lib/google/cloud/security_center/v2/version.rb +1 -1
- data/lib/google/cloud/securitycenter/v2/attack_path_pb.rb +1 -1
- data/lib/google/cloud/securitycenter/v2/cloud_armor_pb.rb +49 -0
- data/lib/google/cloud/securitycenter/v2/finding_pb.rb +5 -1
- data/lib/google/cloud/securitycenter/v2/folder_pb.rb +42 -0
- data/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +1 -1
- data/lib/google/cloud/securitycenter/v2/notebook_pb.rb +45 -0
- data/lib/google/cloud/securitycenter/v2/resource_pb.rb +16 -1
- data/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +3 -1
- data/lib/google/cloud/securitycenter/v2/simulation_pb.rb +2 -1
- data/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +1 -1
- data/proto_docs/google/cloud/securitycenter/v2/cloud_armor.rb +128 -0
- data/proto_docs/google/cloud/securitycenter/v2/finding.rb +6 -0
- data/proto_docs/google/cloud/securitycenter/v2/folder.rb +40 -0
- data/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +13 -1
- data/proto_docs/google/cloud/securitycenter/v2/notebook.rb +46 -0
- data/proto_docs/google/cloud/securitycenter/v2/resource.rb +247 -0
- data/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +22 -18
- data/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +37 -8
- data/proto_docs/google/cloud/securitycenter/v2/simulation.rb +3 -0
- metadata +8 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e79682c37684d3dd49cebcafb353fc3e638c2891e8bd485e19915f13346253b0
         | 
| 4 | 
            +
              data.tar.gz: 477e4d287afc8dc91ae0d8f18bbefc9ff98881cc7df85c5029ff7bc9f77b0576
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7389bd7504a1d0cc0e620ec828e30c02214a3538cae227c499ec4b1feba3bb53cef2be52a68f423c7e507e4ac7868941d185b87ef46a5767917798376f55e4c9
         | 
| 7 | 
            +
              data.tar.gz: 5582cdf3ef292025c8cdd3a346ff3def07a020bfc937c1d3e45c257bc187a01aa993cd46aaccedbf53805b45a9b2e9557c11ee5103e41c2463f6d7de58c52b8e
         | 
| @@ -2118,14 +2118,6 @@ module Google | |
| 2118 2118 | 
             
                        #     Required. Expression that defines what assets fields to use for grouping.
         | 
| 2119 2119 | 
             
                        #     The string value should follow SQL syntax: comma separated list of fields.
         | 
| 2120 2120 | 
             
                        #     For example: "parent,resource_name".
         | 
| 2121 | 
            -
                        #
         | 
| 2122 | 
            -
                        #     The following fields are supported:
         | 
| 2123 | 
            -
                        #
         | 
| 2124 | 
            -
                        #     * resource_name
         | 
| 2125 | 
            -
                        #     * category
         | 
| 2126 | 
            -
                        #     * state
         | 
| 2127 | 
            -
                        #     * parent
         | 
| 2128 | 
            -
                        #     * severity
         | 
| 2129 2121 | 
             
                        #   @param page_token [::String]
         | 
| 2130 2122 | 
             
                        #     The value returned by the last `GroupFindingsResponse`; indicates
         | 
| 2131 2123 | 
             
                        #     that this is a continuation of a prior `GroupFindings` call, and
         | 
| @@ -4073,6 +4065,10 @@ module Google | |
| 4073 4065 | 
             
                        #     The list of fields to be updated.
         | 
| 4074 4066 | 
             
                        #     If empty all mutable fields will be updated.
         | 
| 4075 4067 | 
             
                        #
         | 
| 4068 | 
            +
                        #     To update nested fields, include the top level field in the mask
         | 
| 4069 | 
            +
                        #     For example, to update gcp_metadata.resource_type, include the
         | 
| 4070 | 
            +
                        #     "gcp_metadata" field mask
         | 
| 4071 | 
            +
                        #
         | 
| 4076 4072 | 
             
                        # @yield [response, operation] Access the result along with the RPC operation
         | 
| 4077 4073 | 
             
                        # @yieldparam response [::Google::Cloud::SecurityCenter::V2::ResourceValueConfig]
         | 
| 4078 4074 | 
             
                        # @yieldparam operation [::GRPC::ActiveCall::Operation]
         | 
| @@ -587,6 +587,27 @@ module Google | |
| 587 587 | 
             
                          "organizations/#{organization}/locations/#{location}"
         | 
| 588 588 | 
             
                        end
         | 
| 589 589 |  | 
| 590 | 
            +
                        ##
         | 
| 591 | 
            +
                        # Create a fully-qualified OrganizationValuedResource resource string.
         | 
| 592 | 
            +
                        #
         | 
| 593 | 
            +
                        # The resource will be in the following format:
         | 
| 594 | 
            +
                        #
         | 
| 595 | 
            +
                        # `organizations/{organization}/locations/{location}/simulations/{simulation}/valuedResources/{valued_resource}`
         | 
| 596 | 
            +
                        #
         | 
| 597 | 
            +
                        # @param organization [String]
         | 
| 598 | 
            +
                        # @param location [String]
         | 
| 599 | 
            +
                        # @param simulation [String]
         | 
| 600 | 
            +
                        # @param valued_resource [String]
         | 
| 601 | 
            +
                        #
         | 
| 602 | 
            +
                        # @return [::String]
         | 
| 603 | 
            +
                        def organization_valued_resource_path organization:, location:, simulation:, valued_resource:
         | 
| 604 | 
            +
                          raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 605 | 
            +
                          raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
         | 
| 606 | 
            +
                          raise ::ArgumentError, "simulation cannot contain /" if simulation.to_s.include? "/"
         | 
| 607 | 
            +
             | 
| 608 | 
            +
                          "organizations/#{organization}/locations/#{location}/simulations/#{simulation}/valuedResources/#{valued_resource}"
         | 
| 609 | 
            +
                        end
         | 
| 610 | 
            +
             | 
| 590 611 | 
             
                        ##
         | 
| 591 612 | 
             
                        # Create a fully-qualified Policy resource string.
         | 
| 592 613 | 
             
                        #
         | 
| @@ -656,18 +677,42 @@ module Google | |
| 656 677 | 
             
                        ##
         | 
| 657 678 | 
             
                        # Create a fully-qualified ResourceValueConfig resource string.
         | 
| 658 679 | 
             
                        #
         | 
| 659 | 
            -
                        #  | 
| 680 | 
            +
                        # @overload resource_value_config_path(organization:, resource_value_config:)
         | 
| 681 | 
            +
                        #   The resource will be in the following format:
         | 
| 660 682 | 
             
                        #
         | 
| 661 | 
            -
                        # | 
| 683 | 
            +
                        #   `organizations/{organization}/resourceValueConfigs/{resource_value_config}`
         | 
| 662 684 | 
             
                        #
         | 
| 663 | 
            -
                        # | 
| 664 | 
            -
                        # | 
| 685 | 
            +
                        #   @param organization [String]
         | 
| 686 | 
            +
                        #   @param resource_value_config [String]
         | 
| 687 | 
            +
                        #
         | 
| 688 | 
            +
                        # @overload resource_value_config_path(organization:, location:, resource_value_config:)
         | 
| 689 | 
            +
                        #   The resource will be in the following format:
         | 
| 690 | 
            +
                        #
         | 
| 691 | 
            +
                        #   `organizations/{organization}/locations/{location}/resourceValueConfigs/{resource_value_config}`
         | 
| 692 | 
            +
                        #
         | 
| 693 | 
            +
                        #   @param organization [String]
         | 
| 694 | 
            +
                        #   @param location [String]
         | 
| 695 | 
            +
                        #   @param resource_value_config [String]
         | 
| 665 696 | 
             
                        #
         | 
| 666 697 | 
             
                        # @return [::String]
         | 
| 667 | 
            -
                        def resource_value_config_path  | 
| 668 | 
            -
                           | 
| 698 | 
            +
                        def resource_value_config_path **args
         | 
| 699 | 
            +
                          resources = {
         | 
| 700 | 
            +
                            "organization:resource_value_config" => (proc do |organization:, resource_value_config:|
         | 
| 701 | 
            +
                              raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 702 | 
            +
             | 
| 703 | 
            +
                              "organizations/#{organization}/resourceValueConfigs/#{resource_value_config}"
         | 
| 704 | 
            +
                            end),
         | 
| 705 | 
            +
                            "location:organization:resource_value_config" => (proc do |organization:, location:, resource_value_config:|
         | 
| 706 | 
            +
                              raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 707 | 
            +
                              raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
         | 
| 708 | 
            +
             | 
| 709 | 
            +
                              "organizations/#{organization}/locations/#{location}/resourceValueConfigs/#{resource_value_config}"
         | 
| 710 | 
            +
                            end)
         | 
| 711 | 
            +
                          }
         | 
| 669 712 |  | 
| 670 | 
            -
                          " | 
| 713 | 
            +
                          resource = resources[args.keys.sort.join(":")]
         | 
| 714 | 
            +
                          raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
         | 
| 715 | 
            +
                          resource.call(**args)
         | 
| 671 716 | 
             
                        end
         | 
| 672 717 |  | 
| 673 718 | 
             
                        ##
         | 
| @@ -821,18 +866,42 @@ module Google | |
| 821 866 | 
             
                        ##
         | 
| 822 867 | 
             
                        # Create a fully-qualified Simulation resource string.
         | 
| 823 868 | 
             
                        #
         | 
| 824 | 
            -
                        #  | 
| 869 | 
            +
                        # @overload simulation_path(organization:, simulation:)
         | 
| 870 | 
            +
                        #   The resource will be in the following format:
         | 
| 825 871 | 
             
                        #
         | 
| 826 | 
            -
                        # | 
| 872 | 
            +
                        #   `organizations/{organization}/simulations/{simulation}`
         | 
| 827 873 | 
             
                        #
         | 
| 828 | 
            -
                        # | 
| 829 | 
            -
                        # | 
| 874 | 
            +
                        #   @param organization [String]
         | 
| 875 | 
            +
                        #   @param simulation [String]
         | 
| 876 | 
            +
                        #
         | 
| 877 | 
            +
                        # @overload simulation_path(organization:, location:, simluation:)
         | 
| 878 | 
            +
                        #   The resource will be in the following format:
         | 
| 879 | 
            +
                        #
         | 
| 880 | 
            +
                        #   `organizations/{organization}/locations/{location}/simulations/{simluation}`
         | 
| 881 | 
            +
                        #
         | 
| 882 | 
            +
                        #   @param organization [String]
         | 
| 883 | 
            +
                        #   @param location [String]
         | 
| 884 | 
            +
                        #   @param simluation [String]
         | 
| 830 885 | 
             
                        #
         | 
| 831 886 | 
             
                        # @return [::String]
         | 
| 832 | 
            -
                        def simulation_path  | 
| 833 | 
            -
                           | 
| 887 | 
            +
                        def simulation_path **args
         | 
| 888 | 
            +
                          resources = {
         | 
| 889 | 
            +
                            "organization:simulation" => (proc do |organization:, simulation:|
         | 
| 890 | 
            +
                              raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 891 | 
            +
             | 
| 892 | 
            +
                              "organizations/#{organization}/simulations/#{simulation}"
         | 
| 893 | 
            +
                            end),
         | 
| 894 | 
            +
                            "location:organization:simluation" => (proc do |organization:, location:, simluation:|
         | 
| 895 | 
            +
                              raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 896 | 
            +
                              raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
         | 
| 897 | 
            +
             | 
| 898 | 
            +
                              "organizations/#{organization}/locations/#{location}/simulations/#{simluation}"
         | 
| 899 | 
            +
                            end)
         | 
| 900 | 
            +
                          }
         | 
| 834 901 |  | 
| 835 | 
            -
                          " | 
| 902 | 
            +
                          resource = resources[args.keys.sort.join(":")]
         | 
| 903 | 
            +
                          raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
         | 
| 904 | 
            +
                          resource.call(**args)
         | 
| 836 905 | 
             
                        end
         | 
| 837 906 |  | 
| 838 907 | 
             
                        ##
         | 
| @@ -948,20 +1017,46 @@ module Google | |
| 948 1017 | 
             
                        ##
         | 
| 949 1018 | 
             
                        # Create a fully-qualified ValuedResource resource string.
         | 
| 950 1019 | 
             
                        #
         | 
| 951 | 
            -
                        #  | 
| 1020 | 
            +
                        # @overload valued_resource_path(organization:, simulation:, valued_resource:)
         | 
| 1021 | 
            +
                        #   The resource will be in the following format:
         | 
| 952 1022 | 
             
                        #
         | 
| 953 | 
            -
                        # | 
| 1023 | 
            +
                        #   `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`
         | 
| 954 1024 | 
             
                        #
         | 
| 955 | 
            -
                        # | 
| 956 | 
            -
                        # | 
| 957 | 
            -
                        # | 
| 1025 | 
            +
                        #   @param organization [String]
         | 
| 1026 | 
            +
                        #   @param simulation [String]
         | 
| 1027 | 
            +
                        #   @param valued_resource [String]
         | 
| 1028 | 
            +
                        #
         | 
| 1029 | 
            +
                        # @overload valued_resource_path(organization:, location:, simluation:, valued_resource:)
         | 
| 1030 | 
            +
                        #   The resource will be in the following format:
         | 
| 1031 | 
            +
                        #
         | 
| 1032 | 
            +
                        #   `organizations/{organization}/locations/{location}/simulations/{simluation}/valuedResources/{valued_resource}`
         | 
| 1033 | 
            +
                        #
         | 
| 1034 | 
            +
                        #   @param organization [String]
         | 
| 1035 | 
            +
                        #   @param location [String]
         | 
| 1036 | 
            +
                        #   @param simluation [String]
         | 
| 1037 | 
            +
                        #   @param valued_resource [String]
         | 
| 958 1038 | 
             
                        #
         | 
| 959 1039 | 
             
                        # @return [::String]
         | 
| 960 | 
            -
                        def valued_resource_path  | 
| 961 | 
            -
                           | 
| 962 | 
            -
             | 
| 1040 | 
            +
                        def valued_resource_path **args
         | 
| 1041 | 
            +
                          resources = {
         | 
| 1042 | 
            +
                            "organization:simulation:valued_resource" => (proc do |organization:, simulation:, valued_resource:|
         | 
| 1043 | 
            +
                              raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 1044 | 
            +
                              raise ::ArgumentError, "simulation cannot contain /" if simulation.to_s.include? "/"
         | 
| 1045 | 
            +
             | 
| 1046 | 
            +
                              "organizations/#{organization}/simulations/#{simulation}/valuedResources/#{valued_resource}"
         | 
| 1047 | 
            +
                            end),
         | 
| 1048 | 
            +
                            "location:organization:simluation:valued_resource" => (proc do |organization:, location:, simluation:, valued_resource:|
         | 
| 1049 | 
            +
                              raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/"
         | 
| 1050 | 
            +
                              raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/"
         | 
| 1051 | 
            +
                              raise ::ArgumentError, "simluation cannot contain /" if simluation.to_s.include? "/"
         | 
| 963 1052 |  | 
| 964 | 
            -
             | 
| 1053 | 
            +
                              "organizations/#{organization}/locations/#{location}/simulations/#{simluation}/valuedResources/#{valued_resource}"
         | 
| 1054 | 
            +
                            end)
         | 
| 1055 | 
            +
                          }
         | 
| 1056 | 
            +
             | 
| 1057 | 
            +
                          resource = resources[args.keys.sort.join(":")]
         | 
| 1058 | 
            +
                          raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
         | 
| 1059 | 
            +
                          resource.call(**args)
         | 
| 965 1060 | 
             
                        end
         | 
| 966 1061 |  | 
| 967 1062 | 
             
                        extend self
         | 
| @@ -1933,14 +1933,6 @@ module Google | |
| 1933 1933 | 
             
                          #     Required. Expression that defines what assets fields to use for grouping.
         | 
| 1934 1934 | 
             
                          #     The string value should follow SQL syntax: comma separated list of fields.
         | 
| 1935 1935 | 
             
                          #     For example: "parent,resource_name".
         | 
| 1936 | 
            -
                          #
         | 
| 1937 | 
            -
                          #     The following fields are supported:
         | 
| 1938 | 
            -
                          #
         | 
| 1939 | 
            -
                          #     * resource_name
         | 
| 1940 | 
            -
                          #     * category
         | 
| 1941 | 
            -
                          #     * state
         | 
| 1942 | 
            -
                          #     * parent
         | 
| 1943 | 
            -
                          #     * severity
         | 
| 1944 1936 | 
             
                          #   @param page_token [::String]
         | 
| 1945 1937 | 
             
                          #     The value returned by the last `GroupFindingsResponse`; indicates
         | 
| 1946 1938 | 
             
                          #     that this is a continuation of a prior `GroupFindings` call, and
         | 
| @@ -3731,6 +3723,10 @@ module Google | |
| 3731 3723 | 
             
                          #   @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
         | 
| 3732 3724 | 
             
                          #     The list of fields to be updated.
         | 
| 3733 3725 | 
             
                          #     If empty all mutable fields will be updated.
         | 
| 3726 | 
            +
                          #
         | 
| 3727 | 
            +
                          #     To update nested fields, include the top level field in the mask
         | 
| 3728 | 
            +
                          #     For example, to update gcp_metadata.resource_type, include the
         | 
| 3729 | 
            +
                          #     "gcp_metadata" field mask
         | 
| 3734 3730 | 
             
                          # @yield [result, operation] Access the result along with the TransportOperation object
         | 
| 3735 3731 | 
             
                          # @yieldparam result [::Google::Cloud::SecurityCenter::V2::ResourceValueConfig]
         | 
| 3736 3732 | 
             
                          # @yieldparam operation [::Gapic::Rest::TransportOperation]
         | 
| @@ -1600,6 +1600,14 @@ module Google | |
| 1600 1600 | 
             
                                                                        ["parent", %r{^organizations/[^/]+/?$}, false]
         | 
| 1601 1601 | 
             
                                                                      ]
         | 
| 1602 1602 | 
             
                                                                    )
         | 
| 1603 | 
            +
                                                                    .with_bindings(
         | 
| 1604 | 
            +
                                                                      uri_method: :post,
         | 
| 1605 | 
            +
                                                                      uri_template: "/v2/{parent}/resourceValueConfigs:batchCreate",
         | 
| 1606 | 
            +
                                                                      body: "*",
         | 
| 1607 | 
            +
                                                                      matches: [
         | 
| 1608 | 
            +
                                                                        ["parent", %r{^organizations/[^/]+/locations/[^/]+/?$}, false]
         | 
| 1609 | 
            +
                                                                      ]
         | 
| 1610 | 
            +
                                                                    )
         | 
| 1603 1611 | 
             
                            transcoder.transcode request_pb
         | 
| 1604 1612 | 
             
                          end
         | 
| 1605 1613 |  | 
| @@ -1999,6 +2007,13 @@ module Google | |
| 1999 2007 | 
             
                                                                        ["name", %r{^organizations/[^/]+/resourceValueConfigs/[^/]+/?$}, false]
         | 
| 2000 2008 | 
             
                                                                      ]
         | 
| 2001 2009 | 
             
                                                                    )
         | 
| 2010 | 
            +
                                                                    .with_bindings(
         | 
| 2011 | 
            +
                                                                      uri_method: :delete,
         | 
| 2012 | 
            +
                                                                      uri_template: "/v2/{name}",
         | 
| 2013 | 
            +
                                                                      matches: [
         | 
| 2014 | 
            +
                                                                        ["name", %r{^organizations/[^/]+/locations/[^/]+/resourceValueConfigs/[^/]+/?$}, false]
         | 
| 2015 | 
            +
                                                                      ]
         | 
| 2016 | 
            +
                                                                    )
         | 
| 2002 2017 | 
             
                            transcoder.transcode request_pb
         | 
| 2003 2018 | 
             
                          end
         | 
| 2004 2019 |  | 
| @@ -2055,6 +2070,13 @@ module Google | |
| 2055 2070 | 
             
                                                                        ["name", %r{^organizations/[^/]+/simulations/[^/]+/?$}, false]
         | 
| 2056 2071 | 
             
                                                                      ]
         | 
| 2057 2072 | 
             
                                                                    )
         | 
| 2073 | 
            +
                                                                    .with_bindings(
         | 
| 2074 | 
            +
                                                                      uri_method: :get,
         | 
| 2075 | 
            +
                                                                      uri_template: "/v2/{name}",
         | 
| 2076 | 
            +
                                                                      matches: [
         | 
| 2077 | 
            +
                                                                        ["name", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/?$}, false]
         | 
| 2078 | 
            +
                                                                      ]
         | 
| 2079 | 
            +
                                                                    )
         | 
| 2058 2080 | 
             
                            transcoder.transcode request_pb
         | 
| 2059 2081 | 
             
                          end
         | 
| 2060 2082 |  | 
| @@ -2076,6 +2098,13 @@ module Google | |
| 2076 2098 | 
             
                                                                        ["name", %r{^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false]
         | 
| 2077 2099 | 
             
                                                                      ]
         | 
| 2078 2100 | 
             
                                                                    )
         | 
| 2101 | 
            +
                                                                    .with_bindings(
         | 
| 2102 | 
            +
                                                                      uri_method: :get,
         | 
| 2103 | 
            +
                                                                      uri_template: "/v2/{name}",
         | 
| 2104 | 
            +
                                                                      matches: [
         | 
| 2105 | 
            +
                                                                        ["name", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false]
         | 
| 2106 | 
            +
                                                                      ]
         | 
| 2107 | 
            +
                                                                    )
         | 
| 2079 2108 | 
             
                            transcoder.transcode request_pb
         | 
| 2080 2109 | 
             
                          end
         | 
| 2081 2110 |  | 
| @@ -2210,6 +2239,13 @@ module Google | |
| 2210 2239 | 
             
                                                                        ["name", %r{^organizations/[^/]+/resourceValueConfigs/[^/]+/?$}, false]
         | 
| 2211 2240 | 
             
                                                                      ]
         | 
| 2212 2241 | 
             
                                                                    )
         | 
| 2242 | 
            +
                                                                    .with_bindings(
         | 
| 2243 | 
            +
                                                                      uri_method: :get,
         | 
| 2244 | 
            +
                                                                      uri_template: "/v2/{name}",
         | 
| 2245 | 
            +
                                                                      matches: [
         | 
| 2246 | 
            +
                                                                        ["name", %r{^organizations/[^/]+/locations/[^/]+/resourceValueConfigs/[^/]+/?$}, false]
         | 
| 2247 | 
            +
                                                                      ]
         | 
| 2248 | 
            +
                                                                    )
         | 
| 2213 2249 | 
             
                            transcoder.transcode request_pb
         | 
| 2214 2250 | 
             
                          end
         | 
| 2215 2251 |  | 
| @@ -2321,6 +2357,13 @@ module Google | |
| 2321 2357 | 
             
                                                                        ["parent", %r{^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false]
         | 
| 2322 2358 | 
             
                                                                      ]
         | 
| 2323 2359 | 
             
                                                                    )
         | 
| 2360 | 
            +
                                                                    .with_bindings(
         | 
| 2361 | 
            +
                                                                      uri_method: :get,
         | 
| 2362 | 
            +
                                                                      uri_template: "/v2/{parent}/attackPaths",
         | 
| 2363 | 
            +
                                                                      matches: [
         | 
| 2364 | 
            +
                                                                        ["parent", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false]
         | 
| 2365 | 
            +
                                                                      ]
         | 
| 2366 | 
            +
                                                                    )
         | 
| 2324 2367 | 
             
                                                                    .with_bindings(
         | 
| 2325 2368 | 
             
                                                                      uri_method: :get,
         | 
| 2326 2369 | 
             
                                                                      uri_template: "/v2/{parent}/attackPaths",
         | 
| @@ -2328,6 +2371,13 @@ module Google | |
| 2328 2371 | 
             
                                                                        ["parent", %r{^organizations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+/?$}, false]
         | 
| 2329 2372 | 
             
                                                                      ]
         | 
| 2330 2373 | 
             
                                                                    )
         | 
| 2374 | 
            +
                                                                    .with_bindings(
         | 
| 2375 | 
            +
                                                                      uri_method: :get,
         | 
| 2376 | 
            +
                                                                      uri_template: "/v2/{parent}/attackPaths",
         | 
| 2377 | 
            +
                                                                      matches: [
         | 
| 2378 | 
            +
                                                                        ["parent", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+/?$}, false]
         | 
| 2379 | 
            +
                                                                      ]
         | 
| 2380 | 
            +
                                                                    )
         | 
| 2331 2381 | 
             
                            transcoder.transcode request_pb
         | 
| 2332 2382 | 
             
                          end
         | 
| 2333 2383 |  | 
| @@ -2531,6 +2581,13 @@ module Google | |
| 2531 2581 | 
             
                                                                        ["parent", %r{^organizations/[^/]+/?$}, false]
         | 
| 2532 2582 | 
             
                                                                      ]
         | 
| 2533 2583 | 
             
                                                                    )
         | 
| 2584 | 
            +
                                                                    .with_bindings(
         | 
| 2585 | 
            +
                                                                      uri_method: :get,
         | 
| 2586 | 
            +
                                                                      uri_template: "/v2/{parent}/resourceValueConfigs",
         | 
| 2587 | 
            +
                                                                      matches: [
         | 
| 2588 | 
            +
                                                                        ["parent", %r{^organizations/[^/]+/locations/[^/]+/?$}, false]
         | 
| 2589 | 
            +
                                                                      ]
         | 
| 2590 | 
            +
                                                                    )
         | 
| 2534 2591 | 
             
                            transcoder.transcode request_pb
         | 
| 2535 2592 | 
             
                          end
         | 
| 2536 2593 |  | 
| @@ -3046,6 +3103,14 @@ module Google | |
| 3046 3103 | 
             
                                                                        ["resource_value_config.name", %r{^organizations/[^/]+/resourceValueConfigs/[^/]+/?$}, false]
         | 
| 3047 3104 | 
             
                                                                      ]
         | 
| 3048 3105 | 
             
                                                                    )
         | 
| 3106 | 
            +
                                                                    .with_bindings(
         | 
| 3107 | 
            +
                                                                      uri_method: :patch,
         | 
| 3108 | 
            +
                                                                      uri_template: "/v2/{resource_value_config.name}",
         | 
| 3109 | 
            +
                                                                      body: "resource_value_config",
         | 
| 3110 | 
            +
                                                                      matches: [
         | 
| 3111 | 
            +
                                                                        ["resource_value_config.name", %r{^organizations/[^/]+/locations/[^/]+/resourceValueConfigs/[^/]+/?$}, false]
         | 
| 3112 | 
            +
                                                                      ]
         | 
| 3113 | 
            +
                                                                    )
         | 
| 3049 3114 | 
             
                            transcoder.transcode request_pb
         | 
| 3050 3115 | 
             
                          end
         | 
| 3051 3116 |  | 
| @@ -7,7 +7,7 @@ require 'google/protobuf' | |
| 7 7 | 
             
            require 'google/api/resource_pb'
         | 
| 8 8 |  | 
| 9 9 |  | 
| 10 | 
            -
            descriptor_data = "\n0google/cloud/securitycenter/v2/attack_path.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x19google/api/resource.proto\"\ | 
| 10 | 
            +
            descriptor_data = "\n0google/cloud/securitycenter/v2/attack_path.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x19google/api/resource.proto\"\xf0\n\n\nAttackPath\x12\x0c\n\x04name\x18\x01 \x01(\t\x12M\n\npath_nodes\x18\x02 \x03(\x0b\x32\x39.google.cloud.securitycenter.v2.AttackPath.AttackPathNode\x12H\n\x05\x65\x64ges\x18\x03 \x03(\x0b\x32\x39.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge\x1a\xbd\x06\n\x0e\x41ttackPathNode\x12\x10\n\x08resource\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12p\n\x13\x61ssociated_findings\x18\x04 \x03(\x0b\x32S.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding\x12\x0c\n\x04uuid\x18\x05 \x01(\t\x12^\n\x0c\x61ttack_steps\x18\x06 \x03(\x0b\x32H.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode\x1a^\n\x19PathNodeAssociatedFinding\x12\x19\n\x11\x63\x61nonical_finding\x18\x01 \x01(\t\x12\x18\n\x10\x66inding_category\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x1a\xb0\x02\n\x0e\x41ttackStepNode\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12P\n\x04type\x18\x02 \x01(\x0e\x32\x42.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.NodeType\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x64\n\x06labels\x18\x04 \x03(\x0b\x32T.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"y\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rNODE_TYPE_AND\x10\x01\x12\x10\n\x0cNODE_TYPE_OR\x10\x02\x12\x15\n\x11NODE_TYPE_DEFENSE\x10\x03\x12\x16\n\x12NODE_TYPE_ATTACKER\x10\x04\x1a\x35\n\x0e\x41ttackPathEdge\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t:\xc3\x02\xea\x41\xbf\x02\n(securitycenter.googleapis.com/AttackPath\x12qorganizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}/attackPaths/{attack_path}\x12\x86\x01organizations/{organization}/locations/{location}/simulations/{simulation}/valuedResources/{valued_resource}/attackPaths/{attack_path}*\x0b\x61ttackPaths2\nattackPathB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0f\x41ttackPathProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3"
         | 
| 11 11 |  | 
| 12 12 | 
             
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 13 13 |  | 
| @@ -0,0 +1,49 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 3 | 
            +
            # source: google/cloud/securitycenter/v2/cloud_armor.proto
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require 'google/protobuf'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            require 'google/protobuf/duration_pb'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
             | 
| 10 | 
            +
            descriptor_data = "\n0google/cloud/securitycenter/v2/cloud_armor.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1egoogle/protobuf/duration.proto\"\xde\x02\n\nCloudArmor\x12G\n\x0fsecurity_policy\x18\x01 \x01(\x0b\x32..google.cloud.securitycenter.v2.SecurityPolicy\x12:\n\x08requests\x18\x02 \x01(\x0b\x32(.google.cloud.securitycenter.v2.Requests\x12O\n\x13\x61\x64\x61ptive_protection\x18\x03 \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.AdaptiveProtection\x12\x36\n\x06\x61ttack\x18\x04 \x01(\x0b\x32&.google.cloud.securitycenter.v2.Attack\x12\x15\n\rthreat_vector\x18\x05 \x01(\t\x12+\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\"=\n\x0eSecurityPolicy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0f\n\x07preview\x18\x03 \x01(\x08\"j\n\x08Requests\x12\r\n\x05ratio\x18\x01 \x01(\x01\x12\x1a\n\x12short_term_allowed\x18\x02 \x01(\x05\x12\x19\n\x11long_term_allowed\x18\x03 \x01(\x05\x12\x18\n\x10long_term_denied\x18\x04 \x01(\x05\"(\n\x12\x41\x64\x61ptiveProtection\x12\x12\n\nconfidence\x18\x01 \x01(\x01\"H\n\x06\x41ttack\x12\x12\n\nvolume_pps\x18\x01 \x01(\x05\x12\x12\n\nvolume_bps\x18\x02 \x01(\x05\x12\x16\n\x0e\x63lassification\x18\x03 \x01(\tB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0f\x43loudArmorProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3"
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            begin
         | 
| 15 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 16 | 
            +
            rescue TypeError
         | 
| 17 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 18 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 19 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 20 | 
            +
              parsed.clear_dependency
         | 
| 21 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 22 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 23 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 24 | 
            +
              imports = [
         | 
| 25 | 
            +
                ["google.protobuf.Duration", "google/protobuf/duration.proto"],
         | 
| 26 | 
            +
              ]
         | 
| 27 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 28 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 29 | 
            +
                if import_file.name != expected_filename
         | 
| 30 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 34 | 
            +
              warn "This will become an error in the next major version."
         | 
| 35 | 
            +
            end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            module Google
         | 
| 38 | 
            +
              module Cloud
         | 
| 39 | 
            +
                module SecurityCenter
         | 
| 40 | 
            +
                  module V2
         | 
| 41 | 
            +
                    CloudArmor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.CloudArmor").msgclass
         | 
| 42 | 
            +
                    SecurityPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.SecurityPolicy").msgclass
         | 
| 43 | 
            +
                    Requests = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Requests").msgclass
         | 
| 44 | 
            +
                    AdaptiveProtection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AdaptiveProtection").msgclass
         | 
| 45 | 
            +
                    Attack = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Attack").msgclass
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
                end
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
            end
         | 
| @@ -10,6 +10,7 @@ require 'google/cloud/securitycenter/v2/access_pb' | |
| 10 10 | 
             
            require 'google/cloud/securitycenter/v2/application_pb'
         | 
| 11 11 | 
             
            require 'google/cloud/securitycenter/v2/attack_exposure_pb'
         | 
| 12 12 | 
             
            require 'google/cloud/securitycenter/v2/backup_disaster_recovery_pb'
         | 
| 13 | 
            +
            require 'google/cloud/securitycenter/v2/cloud_armor_pb'
         | 
| 13 14 | 
             
            require 'google/cloud/securitycenter/v2/cloud_dlp_data_profile_pb'
         | 
| 14 15 | 
             
            require 'google/cloud/securitycenter/v2/cloud_dlp_inspection_pb'
         | 
| 15 16 | 
             
            require 'google/cloud/securitycenter/v2/compliance_pb'
         | 
| @@ -28,6 +29,7 @@ require 'google/cloud/securitycenter/v2/kubernetes_pb' | |
| 28 29 | 
             
            require 'google/cloud/securitycenter/v2/load_balancer_pb'
         | 
| 29 30 | 
             
            require 'google/cloud/securitycenter/v2/log_entry_pb'
         | 
| 30 31 | 
             
            require 'google/cloud/securitycenter/v2/mitre_attack_pb'
         | 
| 32 | 
            +
            require 'google/cloud/securitycenter/v2/notebook_pb'
         | 
| 31 33 | 
             
            require 'google/cloud/securitycenter/v2/org_policy_pb'
         | 
| 32 34 | 
             
            require 'google/cloud/securitycenter/v2/process_pb'
         | 
| 33 35 | 
             
            require 'google/cloud/securitycenter/v2/security_marks_pb'
         | 
| @@ -38,7 +40,7 @@ require 'google/protobuf/struct_pb' | |
| 38 40 | 
             
            require 'google/protobuf/timestamp_pb'
         | 
| 39 41 |  | 
| 40 42 |  | 
| 41 | 
            -
            descriptor_data = "\n,google/cloud/securitycenter/v2/finding.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/securitycenter/v2/access.proto\x1a\x30google/cloud/securitycenter/v2/application.proto\x1a\x34google/cloud/securitycenter/v2/attack_exposure.proto\x1a=google/cloud/securitycenter/v2/backup_disaster_recovery.proto\x1a;google/cloud/securitycenter/v2/cloud_dlp_data_profile.proto\x1a\x39google/cloud/securitycenter/v2/cloud_dlp_inspection.proto\x1a/google/cloud/securitycenter/v2/compliance.proto\x1a/google/cloud/securitycenter/v2/connection.proto\x1a\x34google/cloud/securitycenter/v2/contact_details.proto\x1a.google/cloud/securitycenter/v2/container.proto\x1a-google/cloud/securitycenter/v2/database.proto\x1a\x31google/cloud/securitycenter/v2/exfiltration.proto\x1a\x34google/cloud/securitycenter/v2/external_system.proto\x1a)google/cloud/securitycenter/v2/file.proto\x1a\x35google/cloud/securitycenter/v2/group_membership.proto\x1a\x30google/cloud/securitycenter/v2/iam_binding.proto\x1a.google/cloud/securitycenter/v2/indicator.proto\x1a\x33google/cloud/securitycenter/v2/kernel_rootkit.proto\x1a/google/cloud/securitycenter/v2/kubernetes.proto\x1a\x32google/cloud/securitycenter/v2/load_balancer.proto\x1a.google/cloud/securitycenter/v2/log_entry.proto\x1a\x31google/cloud/securitycenter/v2/mitre_attack.proto\x1a/google/cloud/securitycenter/v2/org_policy.proto\x1a,google/cloud/securitycenter/v2/process.proto\x1a\x33google/cloud/securitycenter/v2/security_marks.proto\x1a\x35google/cloud/securitycenter/v2/security_posture.proto\x1a\x36google/cloud/securitycenter/v2/toxic_combination.proto\x1a\x32google/cloud/securitycenter/v2/vulnerability.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\ | 
| 43 | 
            +
            descriptor_data = "\n,google/cloud/securitycenter/v2/finding.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/securitycenter/v2/access.proto\x1a\x30google/cloud/securitycenter/v2/application.proto\x1a\x34google/cloud/securitycenter/v2/attack_exposure.proto\x1a=google/cloud/securitycenter/v2/backup_disaster_recovery.proto\x1a\x30google/cloud/securitycenter/v2/cloud_armor.proto\x1a;google/cloud/securitycenter/v2/cloud_dlp_data_profile.proto\x1a\x39google/cloud/securitycenter/v2/cloud_dlp_inspection.proto\x1a/google/cloud/securitycenter/v2/compliance.proto\x1a/google/cloud/securitycenter/v2/connection.proto\x1a\x34google/cloud/securitycenter/v2/contact_details.proto\x1a.google/cloud/securitycenter/v2/container.proto\x1a-google/cloud/securitycenter/v2/database.proto\x1a\x31google/cloud/securitycenter/v2/exfiltration.proto\x1a\x34google/cloud/securitycenter/v2/external_system.proto\x1a)google/cloud/securitycenter/v2/file.proto\x1a\x35google/cloud/securitycenter/v2/group_membership.proto\x1a\x30google/cloud/securitycenter/v2/iam_binding.proto\x1a.google/cloud/securitycenter/v2/indicator.proto\x1a\x33google/cloud/securitycenter/v2/kernel_rootkit.proto\x1a/google/cloud/securitycenter/v2/kubernetes.proto\x1a\x32google/cloud/securitycenter/v2/load_balancer.proto\x1a.google/cloud/securitycenter/v2/log_entry.proto\x1a\x31google/cloud/securitycenter/v2/mitre_attack.proto\x1a-google/cloud/securitycenter/v2/notebook.proto\x1a/google/cloud/securitycenter/v2/org_policy.proto\x1a,google/cloud/securitycenter/v2/process.proto\x1a\x33google/cloud/securitycenter/v2/security_marks.proto\x1a\x35google/cloud/securitycenter/v2/security_posture.proto\x1a\x36google/cloud/securitycenter/v2/toxic_combination.proto\x1a\x32google/cloud/securitycenter/v2/vulnerability.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb3\x1f\n\x07\x46inding\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x0e\x63\x61nonical_name\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x1a\n\rresource_name\x18\x04 \x01(\tB\x03\xe0\x41\x05\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.securitycenter.v2.Finding.StateB\x03\xe0\x41\x03\x12\x15\n\x08\x63\x61tegory\x18\x07 \x01(\tB\x03\xe0\x41\x05\x12\x14\n\x0c\x65xternal_uri\x18\x08 \x01(\t\x12X\n\x11source_properties\x18\t \x03(\x0b\x32=.google.cloud.securitycenter.v2.Finding.SourcePropertiesEntry\x12J\n\x0esecurity_marks\x18\n \x01(\x0b\x32-.google.cloud.securitycenter.v2.SecurityMarksB\x03\xe0\x41\x03\x12.\n\nevent_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0b\x63reate_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x08severity\x18\x0e \x01(\x0e\x32\x30.google.cloud.securitycenter.v2.Finding.Severity\x12:\n\x04mute\x18\x0f \x01(\x0e\x32,.google.cloud.securitycenter.v2.Finding.Mute\x12K\n\rfinding_class\x18\x10 \x01(\x0e\x32\x34.google.cloud.securitycenter.v2.Finding.FindingClass\x12<\n\tindicator\x18\x11 \x01(\x0b\x32).google.cloud.securitycenter.v2.Indicator\x12\x44\n\rvulnerability\x18\x12 \x01(\x0b\x32-.google.cloud.securitycenter.v2.Vulnerability\x12\x39\n\x10mute_update_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12[\n\x10\x65xternal_systems\x18\x14 \x03(\x0b\x32<.google.cloud.securitycenter.v2.Finding.ExternalSystemsEntryB\x03\xe0\x41\x03\x12\x41\n\x0cmitre_attack\x18\x15 \x01(\x0b\x32+.google.cloud.securitycenter.v2.MitreAttack\x12\x36\n\x06\x61\x63\x63\x65ss\x18\x16 \x01(\x0b\x32&.google.cloud.securitycenter.v2.Access\x12?\n\x0b\x63onnections\x18\x17 \x03(\x0b\x32*.google.cloud.securitycenter.v2.Connection\x12\x16\n\x0emute_initiator\x18\x18 \x01(\t\x12:\n\tprocesses\x18\x19 \x03(\x0b\x32\'.google.cloud.securitycenter.v2.Process\x12L\n\x08\x63ontacts\x18\x1a \x03(\x0b\x32\x35.google.cloud.securitycenter.v2.Finding.ContactsEntryB\x03\xe0\x41\x03\x12?\n\x0b\x63ompliances\x18\x1b \x03(\x0b\x32*.google.cloud.securitycenter.v2.Compliance\x12 \n\x13parent_display_name\x18\x1d \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x1e \x01(\t\x12\x42\n\x0c\x65xfiltration\x18\x1f \x01(\x0b\x32,.google.cloud.securitycenter.v2.Exfiltration\x12@\n\x0ciam_bindings\x18  \x03(\x0b\x32*.google.cloud.securitycenter.v2.IamBinding\x12\x12\n\nnext_steps\x18! \x01(\t\x12\x13\n\x0bmodule_name\x18\" \x01(\t\x12=\n\ncontainers\x18# \x03(\x0b\x32).google.cloud.securitycenter.v2.Container\x12>\n\nkubernetes\x18$ \x01(\x0b\x32*.google.cloud.securitycenter.v2.Kubernetes\x12:\n\x08\x64\x61tabase\x18% \x01(\x0b\x32(.google.cloud.securitycenter.v2.Database\x12G\n\x0f\x61ttack_exposure\x18& \x01(\x0b\x32..google.cloud.securitycenter.v2.AttackExposure\x12\x33\n\x05\x66iles\x18\' \x03(\x0b\x32$.google.cloud.securitycenter.v2.File\x12P\n\x14\x63loud_dlp_inspection\x18( \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.CloudDlpInspection\x12S\n\x16\x63loud_dlp_data_profile\x18) \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.CloudDlpDataProfile\x12\x45\n\x0ekernel_rootkit\x18* \x01(\x0b\x32-.google.cloud.securitycenter.v2.KernelRootkit\x12?\n\x0corg_policies\x18+ \x03(\x0b\x32).google.cloud.securitycenter.v2.OrgPolicy\x12@\n\x0b\x61pplication\x18- \x01(\x0b\x32+.google.cloud.securitycenter.v2.Application\x12X\n\x18\x62\x61\x63kup_disaster_recovery\x18/ \x01(\x0b\x32\x36.google.cloud.securitycenter.v2.BackupDisasterRecovery\x12I\n\x10security_posture\x18\x30 \x01(\x0b\x32/.google.cloud.securitycenter.v2.SecurityPosture\x12=\n\x0blog_entries\x18\x31 \x03(\x0b\x32(.google.cloud.securitycenter.v2.LogEntry\x12\x44\n\x0eload_balancers\x18\x32 \x03(\x0b\x32,.google.cloud.securitycenter.v2.LoadBalancer\x12?\n\x0b\x63loud_armor\x18\x33 \x01(\x0b\x32*.google.cloud.securitycenter.v2.CloudArmor\x12:\n\x08notebook\x18\x37 \x01(\x0b\x32(.google.cloud.securitycenter.v2.Notebook\x12K\n\x11toxic_combination\x18\x38 \x01(\x0b\x32\x30.google.cloud.securitycenter.v2.ToxicCombination\x12J\n\x11group_memberships\x18\x39 \x03(\x0b\x32/.google.cloud.securitycenter.v2.GroupMembership\x1aO\n\x15SourcePropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x66\n\x14\x45xternalSystemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12=\n\x05value\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.ExternalSystem:\x02\x38\x01\x1a_\n\rContactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12=\n\x05value\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.ContactDetails:\x02\x38\x01\"8\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"Q\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x07\n\x03LOW\x10\x04\"C\n\x04Mute\x12\x14\n\x10MUTE_UNSPECIFIED\x10\x00\x12\t\n\x05MUTED\x10\x01\x12\x0b\n\x07UNMUTED\x10\x02\x12\r\n\tUNDEFINED\x10\x03\"\xb0\x01\n\x0c\x46indingClass\x12\x1d\n\x19\x46INDING_CLASS_UNSPECIFIED\x10\x00\x12\n\n\x06THREAT\x10\x01\x12\x11\n\rVULNERABILITY\x10\x02\x12\x14\n\x10MISCONFIGURATION\x10\x03\x12\x0f\n\x0bOBSERVATION\x10\x04\x12\r\n\tSCC_ERROR\x10\x05\x12\x15\n\x11POSTURE_VIOLATION\x10\x06\x12\x15\n\x11TOXIC_COMBINATION\x10\x07:\xdd\x03\xea\x41\xd9\x03\n%securitycenter.googleapis.com/Finding\x12@organizations/{organization}/sources/{source}/findings/{finding}\x12Uorganizations/{organization}/sources/{source}/locations/{location}/findings/{finding}\x12\x34\x66olders/{folder}/sources/{source}/findings/{finding}\x12Ifolders/{folder}/sources/{source}/locations/{location}/findings/{finding}\x12\x36projects/{project}/sources/{source}/findings/{finding}\x12Kprojects/{project}/sources/{source}/locations/{location}/findings/{finding}*\x08\x66indings2\x07\x66indingB\xe6\x01\n\"com.google.cloud.securitycenter.v2B\x0c\x46indingProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3"
         | 
| 42 44 |  | 
| 43 45 | 
             
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 44 46 |  | 
| @@ -78,6 +80,8 @@ rescue TypeError | |
| 78 80 | 
             
                ["google.cloud.securitycenter.v2.SecurityPosture", "google/cloud/securitycenter/v2/security_posture.proto"],
         | 
| 79 81 | 
             
                ["google.cloud.securitycenter.v2.LogEntry", "google/cloud/securitycenter/v2/log_entry.proto"],
         | 
| 80 82 | 
             
                ["google.cloud.securitycenter.v2.LoadBalancer", "google/cloud/securitycenter/v2/load_balancer.proto"],
         | 
| 83 | 
            +
                ["google.cloud.securitycenter.v2.CloudArmor", "google/cloud/securitycenter/v2/cloud_armor.proto"],
         | 
| 84 | 
            +
                ["google.cloud.securitycenter.v2.Notebook", "google/cloud/securitycenter/v2/notebook.proto"],
         | 
| 81 85 | 
             
                ["google.cloud.securitycenter.v2.ToxicCombination", "google/cloud/securitycenter/v2/toxic_combination.proto"],
         | 
| 82 86 | 
             
                ["google.cloud.securitycenter.v2.GroupMembership", "google/cloud/securitycenter/v2/group_membership.proto"],
         | 
| 83 87 | 
             
                ["google.protobuf.Value", "google/protobuf/struct.proto"],
         | 
| @@ -0,0 +1,42 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
            # Generated by the protocol buffer compiler.  DO NOT EDIT!
         | 
| 3 | 
            +
            # source: google/cloud/securitycenter/v2/folder.proto
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require 'google/protobuf'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
             | 
| 8 | 
            +
            descriptor_data = "\n+google/cloud/securitycenter/v2/folder.proto\x12\x1egoogle.cloud.securitycenter.v2\"G\n\x06\x46older\x12\x17\n\x0fresource_folder\x18\x01 \x01(\t\x12$\n\x1cresource_folder_display_name\x18\x02 \x01(\tB\xe5\x01\n\"com.google.cloud.securitycenter.v2B\x0b\x46olderProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3"
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            begin
         | 
| 13 | 
            +
              pool.add_serialized_file(descriptor_data)
         | 
| 14 | 
            +
            rescue TypeError
         | 
| 15 | 
            +
              # Compatibility code: will be removed in the next major version.
         | 
| 16 | 
            +
              require 'google/protobuf/descriptor_pb'
         | 
| 17 | 
            +
              parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
         | 
| 18 | 
            +
              parsed.clear_dependency
         | 
| 19 | 
            +
              serialized = parsed.class.encode(parsed)
         | 
| 20 | 
            +
              file = pool.add_serialized_file(serialized)
         | 
| 21 | 
            +
              warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
         | 
| 22 | 
            +
              imports = [
         | 
| 23 | 
            +
              ]
         | 
| 24 | 
            +
              imports.each do |type_name, expected_filename|
         | 
| 25 | 
            +
                import_file = pool.lookup(type_name).file_descriptor
         | 
| 26 | 
            +
                if import_file.name != expected_filename
         | 
| 27 | 
            +
                  warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
              warn "Each proto file must use a consistent fully-qualified name."
         | 
| 31 | 
            +
              warn "This will become an error in the next major version."
         | 
| 32 | 
            +
            end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            module Google
         | 
| 35 | 
            +
              module Cloud
         | 
| 36 | 
            +
                module SecurityCenter
         | 
| 37 | 
            +
                  module V2
         | 
| 38 | 
            +
                    Folder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Folder").msgclass
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
                end
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
            end
         | 
| @@ -5,7 +5,7 @@ | |
| 5 5 | 
             
            require 'google/protobuf'
         | 
| 6 6 |  | 
| 7 7 |  | 
| 8 | 
            -
            descriptor_data = "\n1google/cloud/securitycenter/v2/mitre_attack.proto\x12\x1egoogle.cloud.securitycenter.v2\"\ | 
| 8 | 
            +
            descriptor_data = "\n1google/cloud/securitycenter/v2/mitre_attack.proto\x12\x1egoogle.cloud.securitycenter.v2\"\xec\x12\n\x0bMitreAttack\x12J\n\x0eprimary_tactic\x18\x01 \x01(\x0e\x32\x32.google.cloud.securitycenter.v2.MitreAttack.Tactic\x12Q\n\x12primary_techniques\x18\x02 \x03(\x0e\x32\x35.google.cloud.securitycenter.v2.MitreAttack.Technique\x12N\n\x12\x61\x64\x64itional_tactics\x18\x03 \x03(\x0e\x32\x32.google.cloud.securitycenter.v2.MitreAttack.Tactic\x12T\n\x15\x61\x64\x64itional_techniques\x18\x04 \x03(\x0e\x32\x35.google.cloud.securitycenter.v2.MitreAttack.Technique\x12\x0f\n\x07version\x18\x05 \x01(\t\"\xb4\x02\n\x06Tactic\x12\x16\n\x12TACTIC_UNSPECIFIED\x10\x00\x12\x12\n\x0eRECONNAISSANCE\x10\x01\x12\x18\n\x14RESOURCE_DEVELOPMENT\x10\x02\x12\x12\n\x0eINITIAL_ACCESS\x10\x05\x12\r\n\tEXECUTION\x10\x03\x12\x0f\n\x0bPERSISTENCE\x10\x06\x12\x18\n\x14PRIVILEGE_ESCALATION\x10\x08\x12\x13\n\x0f\x44\x45\x46\x45NSE_EVASION\x10\x07\x12\x15\n\x11\x43REDENTIAL_ACCESS\x10\t\x12\r\n\tDISCOVERY\x10\n\x12\x14\n\x10LATERAL_MOVEMENT\x10\x0b\x12\x0e\n\nCOLLECTION\x10\x0c\x12\x17\n\x13\x43OMMAND_AND_CONTROL\x10\x04\x12\x10\n\x0c\x45XFILTRATION\x10\r\x12\n\n\x06IMPACT\x10\x0e\"\xcf\r\n\tTechnique\x12\x19\n\x15TECHNIQUE_UNSPECIFIED\x10\x00\x12\x10\n\x0cMASQUERADING\x10\x31\x12%\n!MATCH_LEGITIMATE_NAME_OR_LOCATION\x10\x32\x12(\n$BOOT_OR_LOGON_INITIALIZATION_SCRIPTS\x10%\x12\x11\n\rSTARTUP_ITEMS\x10&\x12\x1d\n\x19NETWORK_SERVICE_DISCOVERY\x10 \x12\x15\n\x11PROCESS_DISCOVERY\x10\x38\x12%\n!COMMAND_AND_SCRIPTING_INTERPRETER\x10\x06\x12\x0e\n\nUNIX_SHELL\x10\x07\x12\n\n\x06PYTHON\x10;\x12\x1f\n\x1bPERMISSION_GROUPS_DISCOVERY\x10\x12\x12\x10\n\x0c\x43LOUD_GROUPS\x10\x13\x12\x1e\n\x1a\x41PPLICATION_LAYER_PROTOCOL\x10-\x12\x07\n\x03\x44NS\x10.\x12\x1d\n\x19SOFTWARE_DEPLOYMENT_TOOLS\x10/\x12\x12\n\x0eVALID_ACCOUNTS\x10\x0e\x12\x14\n\x10\x44\x45\x46\x41ULT_ACCOUNTS\x10#\x12\x12\n\x0eLOCAL_ACCOUNTS\x10\x0f\x12\x12\n\x0e\x43LOUD_ACCOUNTS\x10\x10\x12\t\n\x05PROXY\x10\t\x12\x12\n\x0e\x45XTERNAL_PROXY\x10\n\x12\x13\n\x0fMULTI_HOP_PROXY\x10\x0b\x12\x18\n\x14\x41\x43\x43OUNT_MANIPULATION\x10\x16\x12 \n\x1c\x41\x44\x44ITIONAL_CLOUD_CREDENTIALS\x10(\x12\x17\n\x13SSH_AUTHORIZED_KEYS\x10\x17\x12&\n\"ADDITIONAL_CONTAINER_CLUSTER_ROLES\x10:\x12\x19\n\x15INGRESS_TOOL_TRANSFER\x10\x03\x12\x0e\n\nNATIVE_API\x10\x04\x12\x0f\n\x0b\x42RUTE_FORCE\x10,\x12\x12\n\x0eSHARED_MODULES\x10\x05\x12\x1d\n\x19\x41\x43\x43\x45SS_TOKEN_MANIPULATION\x10!\x12 \n\x1cTOKEN_IMPERSONATION_OR_THEFT\x10\'\x12%\n!EXPLOIT_PUBLIC_FACING_APPLICATION\x10\x1b\x12\x1e\n\x1a\x44OMAIN_POLICY_MODIFICATION\x10\x1e\x12\x14\n\x10\x44\x41TA_DESTRUCTION\x10\x1d\x12\x10\n\x0cSERVICE_STOP\x10\x34\x12\x1b\n\x17INHIBIT_SYSTEM_RECOVERY\x10$\x12\x16\n\x12RESOURCE_HIJACKING\x10\x08\x12\x1d\n\x19NETWORK_DENIAL_OF_SERVICE\x10\x11\x12\x1b\n\x17\x43LOUD_SERVICE_DISCOVERY\x10\x30\x12\"\n\x1eSTEAL_APPLICATION_ACCESS_TOKEN\x10*\x12\x1a\n\x16\x41\x43\x43OUNT_ACCESS_REMOVAL\x10\x33\x12\x1c\n\x18STEAL_WEB_SESSION_COOKIE\x10\x19\x12#\n\x1f\x43REATE_OR_MODIFY_SYSTEM_PROCESS\x10\x18\x12%\n!ABUSE_ELEVATION_CONTROL_MECHANISM\x10\"\x12\x19\n\x15UNSECURED_CREDENTIALS\x10\r\x12!\n\x1dMODIFY_AUTHENTICATION_PROCESS\x10\x1c\x12\x13\n\x0fIMPAIR_DEFENSES\x10\x1f\x12\x1b\n\x17\x44ISABLE_OR_MODIFY_TOOLS\x10\x37\x12!\n\x1d\x45XFILTRATION_OVER_WEB_SERVICE\x10\x14\x12!\n\x1d\x45XFILTRATION_TO_CLOUD_STORAGE\x10\x15\x12\x16\n\x12\x44YNAMIC_RESOLUTION\x10\x0c\x12\x19\n\x15LATERAL_TOOL_TRANSFER\x10)\x12\'\n#MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE\x10\x1a\x12\x13\n\x0f\x43REATE_SNAPSHOT\x10\x36\x12\"\n\x1e\x43LOUD_INFRASTRUCTURE_DISCOVERY\x10\x35\x12\x17\n\x13OBTAIN_CAPABILITIES\x10+\x12\x13\n\x0f\x41\x43TIVE_SCANNING\x10\x01\x12\x16\n\x12SCANNING_IP_BLOCKS\x10\x02\x12$\n CONTAINER_ADMINISTRATION_COMMAND\x10<\x12\x12\n\x0e\x45SCAPE_TO_HOST\x10=\x12$\n CONTAINER_AND_RESOURCE_DISCOVERY\x10\x39\x12.\n*STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES\x10>B\xea\x01\n\"com.google.cloud.securitycenter.v2B\x10MitreAttackProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3"
         | 
| 9 9 |  | 
| 10 10 | 
             
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 11 11 |  |