@@ -751,6 +751,117 @@ def update!(**args)
751751 end
752752 end
753753
754+ # A configuration to generate a response for GetEffectiveVpcFlowLogsConfig
755+ # request.
756+ class EffectiveVpcFlowLogsConfig
757+ include Google ::Apis ::Core ::Hashable
758+
759+ # The aggregation interval for the logs. Default value is INTERVAL_5_SEC.
760+ # Corresponds to the JSON property `aggregationInterval`
761+ # @return [String]
762+ attr_accessor :aggregation_interval
763+
764+ # Determines whether to include cross project annotations in the logs. This
765+ # field is available only for organization configurations. If not specified in
766+ # org configs will be set to CROSS_PROJECT_METADATA_ENABLED.
767+ # Corresponds to the JSON property `crossProjectMetadata`
768+ # @return [String]
769+ attr_accessor :cross_project_metadata
770+
771+ # Export filter used to define which VPC Flow Logs should be logged.
772+ # Corresponds to the JSON property `filterExpr`
773+ # @return [String]
774+ attr_accessor :filter_expr
775+
776+ # The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs
777+ # where 1.0 means all collected logs are reported. Setting the sampling rate to
778+ # 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field
779+ # instead. Default value is 1.0.
780+ # Corresponds to the JSON property `flowSampling`
781+ # @return [Float]
782+ attr_accessor :flow_sampling
783+
784+ # Traffic will be logged from the Interconnect Attachment. Format: projects/`
785+ # project_id`/regions/`region`/interconnectAttachments/`name`
786+ # Corresponds to the JSON property `interconnectAttachment`
787+ # @return [String]
788+ attr_accessor :interconnect_attachment
789+
790+ # Configures whether all, none or a subset of metadata fields should be added to
791+ # the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
792+ # Corresponds to the JSON property `metadata`
793+ # @return [String]
794+ attr_accessor :metadata
795+
796+ # Custom metadata fields to include in the reported VPC flow logs. Can only be
797+ # specified if "metadata" was set to CUSTOM_METADATA.
798+ # Corresponds to the JSON property `metadataFields`
799+ # @return [Array<String>]
800+ attr_accessor :metadata_fields
801+
802+ # Unique name of the configuration. The name can have one of the following forms:
803+ # - For project-level configurations: `projects/`project_id`/locations/global/
804+ # vpcFlowLogsConfigs/`vpc_flow_logs_config_id`` - For organization-level
805+ # configurations: `organizations/`organization_id`/locations/global/
806+ # vpcFlowLogsConfigs/`vpc_flow_logs_config_id`` - For a Compute config, the name
807+ # will be the path of the subnet: `projects/`project_id`/regions/`region`/
808+ # subnetworks/`subnet_id``
809+ # Corresponds to the JSON property `name`
810+ # @return [String]
811+ attr_accessor :name
812+
813+ # Traffic will be logged from VMs, VPN tunnels and Interconnect Attachments
814+ # within the network. Format: projects/`project_id`/global/networks/`name`
815+ # Corresponds to the JSON property `network`
816+ # @return [String]
817+ attr_accessor :network
818+
819+ # Specifies the scope of the config (e.g., SUBNET, NETWORK, ORGANIZATION..).
820+ # Corresponds to the JSON property `scope`
821+ # @return [String]
822+ attr_accessor :scope
823+
824+ # The state of the VPC Flow Log configuration. Default value is ENABLED. When
825+ # creating a new configuration, it must be enabled. Setting state=DISABLED will
826+ # pause the log generation for this config.
827+ # Corresponds to the JSON property `state`
828+ # @return [String]
829+ attr_accessor :state
830+
831+ # Traffic will be logged from VMs within the subnetwork. Format: projects/`
832+ # project_id`/regions/`region`/subnetworks/`name`
833+ # Corresponds to the JSON property `subnet`
834+ # @return [String]
835+ attr_accessor :subnet
836+
837+ # Traffic will be logged from the VPN Tunnel. Format: projects/`project_id`/
838+ # regions/`region`/vpnTunnels/`name`
839+ # Corresponds to the JSON property `vpnTunnel`
840+ # @return [String]
841+ attr_accessor :vpn_tunnel
842+
843+ def initialize ( **args )
844+ update! ( **args )
845+ end
846+
847+ # Update properties of this object
848+ def update! ( **args )
849+ @aggregation_interval = args [ :aggregation_interval ] if args . key? ( :aggregation_interval )
850+ @cross_project_metadata = args [ :cross_project_metadata ] if args . key? ( :cross_project_metadata )
851+ @filter_expr = args [ :filter_expr ] if args . key? ( :filter_expr )
852+ @flow_sampling = args [ :flow_sampling ] if args . key? ( :flow_sampling )
853+ @interconnect_attachment = args [ :interconnect_attachment ] if args . key? ( :interconnect_attachment )
854+ @metadata = args [ :metadata ] if args . key? ( :metadata )
855+ @metadata_fields = args [ :metadata_fields ] if args . key? ( :metadata_fields )
856+ @name = args [ :name ] if args . key? ( :name )
857+ @network = args [ :network ] if args . key? ( :network )
858+ @scope = args [ :scope ] if args . key? ( :scope )
859+ @state = args [ :state ] if args . key? ( :state )
860+ @subnet = args [ :subnet ] if args . key? ( :subnet )
861+ @vpn_tunnel = args [ :vpn_tunnel ] if args . key? ( :vpn_tunnel )
862+ end
863+ end
864+
754865 # A generic empty message that you can re-use to avoid defining duplicated empty
755866 # messages in your APIs. A typical example is to use it as the request or the
756867 # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -825,6 +936,11 @@ class Endpoint
825936 # @return [String]
826937 attr_accessor :gke_master_cluster
827938
939+ # A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) URI.
940+ # Corresponds to the JSON property `gkePod`
941+ # @return [String]
942+ attr_accessor :gke_pod
943+
828944 # A Compute Engine instance URI.
829945 # Corresponds to the JSON property `instance`
830946 # @return [String]
@@ -901,6 +1017,7 @@ def update!(**args)
9011017 @forwarding_rule_target = args [ :forwarding_rule_target ] if args . key? ( :forwarding_rule_target )
9021018 @fqdn = args [ :fqdn ] if args . key? ( :fqdn )
9031019 @gke_master_cluster = args [ :gke_master_cluster ] if args . key? ( :gke_master_cluster )
1020+ @gke_pod = args [ :gke_pod ] if args . key? ( :gke_pod )
9041021 @instance = args [ :instance ] if args . key? ( :instance )
9051022 @ip_address = args [ :ip_address ] if args . key? ( :ip_address )
9061023 @load_balancer_id = args [ :load_balancer_id ] if args . key? ( :load_balancer_id )
@@ -2824,6 +2941,37 @@ def update!(**args)
28242941 end
28252942 end
28262943
2944+ # Response for the `ShowEffectiveFlowLogsConfigs` method.
2945+ class ShowEffectiveFlowLogsConfigsResponse
2946+ include Google ::Apis ::Core ::Hashable
2947+
2948+ # List of Effective Vpc Flow Logs configurations.
2949+ # Corresponds to the JSON property `effectiveFlowLogsConfigs`
2950+ # @return [Array<Google::Apis::NetworkmanagementV1beta1::EffectiveVpcFlowLogsConfig>]
2951+ attr_accessor :effective_flow_logs_configs
2952+
2953+ # Page token to fetch the next set of configurations.
2954+ # Corresponds to the JSON property `nextPageToken`
2955+ # @return [String]
2956+ attr_accessor :next_page_token
2957+
2958+ # Locations that could not be reached (when querying all locations with `-`).
2959+ # Corresponds to the JSON property `unreachable`
2960+ # @return [Array<String>]
2961+ attr_accessor :unreachable
2962+
2963+ def initialize ( **args )
2964+ update! ( **args )
2965+ end
2966+
2967+ # Update properties of this object
2968+ def update! ( **args )
2969+ @effective_flow_logs_configs = args [ :effective_flow_logs_configs ] if args . key? ( :effective_flow_logs_configs )
2970+ @next_page_token = args [ :next_page_token ] if args . key? ( :next_page_token )
2971+ @unreachable = args [ :unreachable ] if args . key? ( :unreachable )
2972+ end
2973+ end
2974+
28272975 # Probing results for a single edge device.
28282976 class SingleEdgeResponse
28292977 include Google ::Apis ::Core ::Hashable
0 commit comments