File: classes.rb

package info (click to toggle)
ruby-google-api-client 0.53.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 75,020 kB
  • sloc: ruby: 626,567; makefile: 4
file content (156 lines) | stat: -rw-r--r-- 6,728 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module CloudprofilerV2
      
      # CreateProfileRequest describes a profile resource online creation request. The
      # deployment field must be populated. The profile_type specifies the list of
      # profile types supported by the agent. The creation call will hang until a
      # profile of one of these types needs to be collected.
      class CreateProfileRequest
        include Google::Apis::Core::Hashable
      
        # Deployment contains the deployment identification information.
        # Corresponds to the JSON property `deployment`
        # @return [Google::Apis::CloudprofilerV2::Deployment]
        attr_accessor :deployment
      
        # One or more profile types that the agent is capable of providing.
        # Corresponds to the JSON property `profileType`
        # @return [Array<String>]
        attr_accessor :profile_type
      
        def initialize(**args)
           update!(**args)
        end
      
        # Update properties of this object
        def update!(**args)
          @deployment = args[:deployment] if args.key?(:deployment)
          @profile_type = args[:profile_type] if args.key?(:profile_type)
        end
      end
      
      # Deployment contains the deployment identification information.
      class Deployment
        include Google::Apis::Core::Hashable
      
        # Labels identify the deployment within the user universe and same target.
        # Validation regex for label names: `^[a-z0-9]([a-z0-9-]`0,61`[a-z0-9])?$`.
        # Value for an individual label must be <= 512 bytes, the total size of all
        # label names and values must be <= 1024 bytes. Label named "language" can be
        # used to record the programming language of the profiled deployment. The
        # standard choices for the value include "java", "go", "python", "ruby", "nodejs"
        # , "php", "dotnet". For deployments running on Google Cloud Platform, "zone" or
        # "region" label should be present describing the deployment location. An
        # example of a zone is "us-central1-a", an example of a region is "us-central1"
        # or "us-central".
        # Corresponds to the JSON property `labels`
        # @return [Hash<String,String>]
        attr_accessor :labels
      
        # Project ID is the ID of a cloud project. Validation regex: `^a-z`4,61`[a-z0-9]$
        # `.
        # Corresponds to the JSON property `projectId`
        # @return [String]
        attr_accessor :project_id
      
        # Target is the service name used to group related deployments: * Service name
        # for GAE Flex / Standard. * Cluster and container name for GKE. * User-
        # specified string for direct GCE profiling (e.g. Java). * Job name for Dataflow.
        # Validation regex: `^[a-z]([-a-z0-9_.]`0,253`[a-z0-9])?$`.
        # Corresponds to the JSON property `target`
        # @return [String]
        attr_accessor :target
      
        def initialize(**args)
           update!(**args)
        end
      
        # Update properties of this object
        def update!(**args)
          @labels = args[:labels] if args.key?(:labels)
          @project_id = args[:project_id] if args.key?(:project_id)
          @target = args[:target] if args.key?(:target)
        end
      end
      
      # Profile resource.
      class Profile
        include Google::Apis::Core::Hashable
      
        # Deployment contains the deployment identification information.
        # Corresponds to the JSON property `deployment`
        # @return [Google::Apis::CloudprofilerV2::Deployment]
        attr_accessor :deployment
      
        # Duration of the profiling session. Input (for the offline mode) or output (for
        # the online mode). The field represents requested profiling duration. It may
        # slightly differ from the effective profiling duration, which is recorded in
        # the profile data, in case the profiling can't be stopped immediately (e.g. in
        # case stopping the profiling is handled asynchronously).
        # Corresponds to the JSON property `duration`
        # @return [String]
        attr_accessor :duration
      
        # Input only. Labels associated to this specific profile. These labels will get
        # merged with the deployment labels for the final data set. See documentation on
        # deployment labels for validation rules and limits.
        # Corresponds to the JSON property `labels`
        # @return [Hash<String,String>]
        attr_accessor :labels
      
        # Output only. Opaque, server-assigned, unique ID for this profile.
        # Corresponds to the JSON property `name`
        # @return [String]
        attr_accessor :name
      
        # Input only. Profile bytes, as a gzip compressed serialized proto, the format
        # is https://github.com/google/pprof/blob/master/proto/profile.proto.
        # Corresponds to the JSON property `profileBytes`
        # NOTE: Values are automatically base64 encoded/decoded in the client library.
        # @return [String]
        attr_accessor :profile_bytes
      
        # Type of profile. For offline mode, this must be specified when creating the
        # profile. For online mode it is assigned and returned by the server.
        # Corresponds to the JSON property `profileType`
        # @return [String]
        attr_accessor :profile_type
      
        def initialize(**args)
           update!(**args)
        end
      
        # Update properties of this object
        def update!(**args)
          @deployment = args[:deployment] if args.key?(:deployment)
          @duration = args[:duration] if args.key?(:duration)
          @labels = args[:labels] if args.key?(:labels)
          @name = args[:name] if args.key?(:name)
          @profile_bytes = args[:profile_bytes] if args.key?(:profile_bytes)
          @profile_type = args[:profile_type] if args.key?(:profile_type)
        end
      end
    end
  end
end