# frozen_string_literal: true # Copyright 2023 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 # # https://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. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module StorageInsights module V1 # Message for requesting list of ReportConfigs # @!attribute [rw] parent # @return [::String] # Required. Parent value for ListReportConfigsRequest # @!attribute [rw] page_size # @return [::Integer] # Requested page size. Server may return fewer items than requested. # If unspecified, server will pick an appropriate default. # @!attribute [rw] page_token # @return [::String] # A token identifying a page of results the server should return. # @!attribute [rw] filter # @return [::String] # Filtering results # @!attribute [rw] order_by # @return [::String] # Hint for how to order the results class ListReportConfigsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for response to listing ReportConfigs # @!attribute [rw] report_configs # @return [::Array<::Google::Cloud::StorageInsights::V1::ReportConfig>] # The list of ReportConfig # @!attribute [rw] next_page_token # @return [::String] # A token identifying a page of results the server should return. # @!attribute [rw] unreachable # @return [::Array<::String>] # Locations that could not be reached. class ListReportConfigsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for getting a ReportConfig # @!attribute [rw] name # @return [::String] # Required. Name of the resource class GetReportConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for creating a ReportConfig # @!attribute [rw] parent # @return [::String] # Required. Value for parent. # @!attribute [rw] report_config # @return [::Google::Cloud::StorageInsights::V1::ReportConfig] # Required. The resource being created # @!attribute [rw] request_id # @return [::String] # Optional. An optional request ID to identify requests. Specify a unique # request ID so that if you must retry your request, the server will know to # ignore the request if it has already been completed. The server will # guarantee that for at least 60 minutes since the first request. # # For example, consider a situation where you make an initial request and # the request times out. If you make the request again with the same request # ID, the server can check if original operation with the same request ID # was received, and if so, will ignore the second request. This prevents # clients from accidentally creating duplicate commitments. # # The request ID must be a valid UUID with the exception that zero UUID is # not supported (00000000-0000-0000-0000-000000000000). class CreateReportConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for updating a ReportConfig # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Required. Field mask is used to specify the fields to be overwritten in the # ReportConfig resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. A field will be overwritten if it is in the mask. If the # user does not provide a mask then all fields will be overwritten. # @!attribute [rw] report_config # @return [::Google::Cloud::StorageInsights::V1::ReportConfig] # Required. The resource being updated # @!attribute [rw] request_id # @return [::String] # Optional. An optional request ID to identify requests. Specify a unique # request ID so that if you must retry your request, the server will know to # ignore the request if it has already been completed. The server will # guarantee that for at least 60 minutes since the first request. # # For example, consider a situation where you make an initial request and # the request times out. If you make the request again with the same request # ID, the server can check if original operation with the same request ID # was received, and if so, will ignore the second request. This prevents # clients from accidentally creating duplicate commitments. # # The request ID must be a valid UUID with the exception that zero UUID is # not supported (00000000-0000-0000-0000-000000000000). class UpdateReportConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for deleting a ReportConfig # @!attribute [rw] name # @return [::String] # Required. Name of the resource # @!attribute [rw] force # @return [::Boolean] # Optional. If set, all ReportDetails for this ReportConfig will be deleted. # @!attribute [rw] request_id # @return [::String] # Optional. An optional request ID to identify requests. Specify a unique # request ID so that if you must retry your request, the server will know to # ignore the request if it has already been completed. The server will # guarantee that for at least 60 minutes after the first request. # # For example, consider a situation where you make an initial request and # the request times out. If you make the request again with the same request # ID, the server can check if original operation with the same request ID # was received, and if so, will ignore the second request. This prevents # clients from accidentally creating duplicate commitments. # # The request ID must be a valid UUID with the exception that zero UUID is # not supported (00000000-0000-0000-0000-000000000000). class DeleteReportConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message describing ReportDetail object. ReportDetail represents metadata of # generated reports for a ReportConfig. # Next ID: 10 # @!attribute [rw] name # @return [::String] # Name of resource. It will be of form # projects//locations//reportConfigs//reportDetails/. # @!attribute [rw] snapshot_time # @return [::Google::Protobuf::Timestamp] # The snapshot time. # All the report data is referenced at this point of time. # @!attribute [rw] report_path_prefix # @return [::String] # Prefix of the object name of each report's shard. This will have full # prefix except the "extension" and "shard_id". # For example, if the `destination_path` is # `{{report-config-id}}/dt={{datetime}}`, the shard object name would be # `gs://my-insights/1A34-F2E456-12B456-1C3D/dt=2022-05-20T06:35/1A34-F2E456-12B456-1C3D_2022-05-20T06:35_5.csv` # and the value of `report_path_prefix` field would be # `gs://my-insights/1A34-F2E456-12B456-1C3D/dt=2022-05-20T06:35/1A34-F2E456-12B456-1C3D_2022-05-20T06:35_`. # @!attribute [rw] shards_count # @return [::Integer] # Total shards generated for the report. # @!attribute [rw] status # @return [::Google::Rpc::Status] # Status of the ReportDetail. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Labels as key value pairs # @!attribute [rw] target_datetime # @return [::Google::Type::DateTime] # The date for which report is generated. The time part of target_datetime # will be zero till we support multiple reports per day. # @!attribute [rw] report_metrics # @return [::Google::Cloud::StorageInsights::V1::ReportDetail::Metrics] # Metrics of the report. class ReportDetail include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Different metrics associated with the generated report. # @!attribute [rw] processed_records_count # @return [::Integer] # Count of Cloud Storage objects which are part of the report. class Metrics include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Message for requesting list of ReportDetails # @!attribute [rw] parent # @return [::String] # Required. Parent value for ListReportDetailsRequest # @!attribute [rw] page_size # @return [::Integer] # Requested page size. Server may return fewer items than requested. # If unspecified, server will pick an appropriate default. # @!attribute [rw] page_token # @return [::String] # A token identifying a page of results the server should return. # @!attribute [rw] filter # @return [::String] # Filtering results # @!attribute [rw] order_by # @return [::String] # Hint for how to order the results class ListReportDetailsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for response to listing ReportDetails # @!attribute [rw] report_details # @return [::Array<::Google::Cloud::StorageInsights::V1::ReportDetail>] # The list of ReportDetail # @!attribute [rw] next_page_token # @return [::String] # A token identifying a page of results the server should return. # @!attribute [rw] unreachable # @return [::Array<::String>] # Locations that could not be reached. class ListReportDetailsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message for getting a ReportDetail # @!attribute [rw] name # @return [::String] # Required. Name of the resource class GetReportDetailRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Represents the metadata of the long-running operation. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the operation was created. # @!attribute [r] end_time # @return [::Google::Protobuf::Timestamp] # Output only. The time the operation finished running. # @!attribute [r] target # @return [::String] # Output only. Server-defined resource path for the target of the operation. # @!attribute [r] verb # @return [::String] # Output only. Name of the verb executed by the operation. # @!attribute [r] status_message # @return [::String] # Output only. Human-readable status of the operation, if any. # @!attribute [r] requested_cancellation # @return [::Boolean] # Output only. Identifies whether the user has requested cancellation # of the operation. Operations that have been cancelled successfully # have [Operation.error][] value with a # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to # `Code.CANCELLED`. # @!attribute [r] api_version # @return [::String] # Output only. API version used to start the operation. class OperationMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # ReportConfig Resource: # # Options to setup frequency of report generation. # @!attribute [rw] frequency # @return [::Google::Cloud::StorageInsights::V1::FrequencyOptions::Frequency] # Frequency of report generation. # @!attribute [rw] start_date # @return [::Google::Type::Date] # The date from which report generation should start. # UTC time zone. # @!attribute [rw] end_date # @return [::Google::Type::Date] # The date on which report generation should stop (Inclusive). # UTC time zone. class FrequencyOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # This ENUM specifies possible frequencies of report generation. module Frequency # Unspecified. FREQUENCY_UNSPECIFIED = 0 # Report will be generated daily. DAILY = 1 # Report will be generated weekly. WEEKLY = 2 end end # Options to configure CSV formatted reports. # @!attribute [rw] record_separator # @return [::String] # Record separator characters in CSV. # @!attribute [rw] delimiter # @return [::String] # Delimiter characters in CSV. # @!attribute [rw] header_required # @return [::Boolean] # If set, will include a header row in the CSV report. class CSVOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Options to configure Parquet formatted reports. class ParquetOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Options to filter data on storage systems. # Next ID: 2 # @!attribute [rw] bucket # @return [::String] # Bucket for which the report will be generated. class CloudStorageFilters include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Options to store reports in storage systems. # Next ID: 3 # @!attribute [rw] bucket # @return [::String] # Destination bucket. # @!attribute [rw] destination_path # @return [::String] # Destination path is the path in the bucket where the report should be # generated. class CloudStorageDestinationOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Report specification for exporting object metadata. # Next ID: 4 # @!attribute [rw] metadata_fields # @return [::Array<::String>] # Metadata fields to be included in the report. # @!attribute [rw] storage_filters # @return [::Google::Cloud::StorageInsights::V1::CloudStorageFilters] # Cloud Storage as the storage system. # @!attribute [rw] storage_destination_options # @return [::Google::Cloud::StorageInsights::V1::CloudStorageDestinationOptions] # Cloud Storage as the storage system. class ObjectMetadataReportOptions include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message describing ReportConfig object. ReportConfig is the configuration to # generate reports. # Next ID: 12 # @!attribute [rw] name # @return [::String] # name of resource. It will be of form # projects//locations//reportConfigs/. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. [Output only] Create time stamp # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. [Output only] Update time stamp # @!attribute [rw] frequency_options # @return [::Google::Cloud::StorageInsights::V1::FrequencyOptions] # The frequency of report generation. # @!attribute [rw] csv_options # @return [::Google::Cloud::StorageInsights::V1::CSVOptions] # Options for CSV formatted reports. # @!attribute [rw] parquet_options # @return [::Google::Cloud::StorageInsights::V1::ParquetOptions] # Options for Parquet formatted reports. # @!attribute [rw] object_metadata_report_options # @return [::Google::Cloud::StorageInsights::V1::ObjectMetadataReportOptions] # Report for exporting object metadata. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Labels as key value pairs # @!attribute [rw] display_name # @return [::String] # User provided display name which can be empty and limited to 256 characters # that is editable. class ReportConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end end