google-cloud-tasks 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/tasks.rb +2 -2
  4. data/lib/google/cloud/tasks/v2beta3.rb +138 -0
  5. data/lib/google/cloud/tasks/v2beta3/cloud_tasks_client.rb +1254 -0
  6. data/lib/google/cloud/tasks/v2beta3/cloud_tasks_client_config.json +106 -0
  7. data/lib/google/cloud/tasks/v2beta3/cloudtasks_pb.rb +99 -0
  8. data/lib/google/cloud/tasks/v2beta3/cloudtasks_services_pb.rb +200 -0
  9. data/lib/google/cloud/tasks/v2beta3/credentials.rb +41 -0
  10. data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/cloudtasks.rb +340 -0
  11. data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/queue.rb +306 -0
  12. data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/target.rb +265 -0
  13. data/lib/google/cloud/tasks/v2beta3/doc/google/cloud/tasks/v2beta3/task.rb +141 -0
  14. data/lib/google/cloud/tasks/v2beta3/doc/google/iam/v1/iam_policy.rb +63 -0
  15. data/lib/google/cloud/tasks/v2beta3/doc/google/iam/v1/policy.rb +128 -0
  16. data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/any.rb +130 -0
  17. data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/duration.rb +91 -0
  18. data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/empty.rb +29 -0
  19. data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/field_mask.rb +230 -0
  20. data/lib/google/cloud/tasks/v2beta3/doc/google/protobuf/timestamp.rb +109 -0
  21. data/lib/google/cloud/tasks/v2beta3/doc/google/rpc/status.rb +84 -0
  22. data/lib/google/cloud/tasks/v2beta3/queue_pb.rb +53 -0
  23. data/lib/google/cloud/tasks/v2beta3/target_pb.rb +46 -0
  24. data/lib/google/cloud/tasks/v2beta3/task_pb.rb +48 -0
  25. metadata +25 -4
@@ -0,0 +1,141 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Cloud
18
+ module Tasks
19
+ module V2beta3
20
+ # A unit of scheduled work.
21
+ # @!attribute [rw] name
22
+ # @return [String]
23
+ # Optionally caller-specified in {Google::Cloud::Tasks::V2beta3::CloudTasks::CreateTask CreateTask}.
24
+ #
25
+ # The task name.
26
+ #
27
+ # The task name must have the following format:
28
+ # `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`
29
+ #
30
+ # * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
31
+ # hyphens (-), colons (:), or periods (.).
32
+ # For more information, see
33
+ # [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)
34
+ # * `LOCATION_ID` is the canonical ID for the task's location.
35
+ # The list of available locations can be obtained by calling
36
+ # {Google::Cloud::Location::Locations::ListLocations ListLocations}.
37
+ # For more information, see https://cloud.google.com/about/locations/.
38
+ # * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
39
+ # hyphens (-). The maximum length is 100 characters.
40
+ # * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
41
+ # hyphens (-), or underscores (_). The maximum length is 500 characters.
42
+ # @!attribute [rw] app_engine_http_request
43
+ # @return [Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest]
44
+ # App Engine HTTP request that is sent to the task's target. Can
45
+ # be set only if
46
+ # {Google::Cloud::Tasks::V2beta3::Queue#app_engine_http_queue app_engine_http_queue} is set
47
+ # on the queue.
48
+ #
49
+ # An App Engine task is a task that has {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest AppEngineHttpRequest} set.
50
+ # @!attribute [rw] schedule_time
51
+ # @return [Google::Protobuf::Timestamp]
52
+ # The time when the task is scheduled to be attempted.
53
+ #
54
+ # For App Engine queues, this is when the task will be attempted or retried.
55
+ #
56
+ # `schedule_time` will be truncated to the nearest microsecond.
57
+ # @!attribute [rw] create_time
58
+ # @return [Google::Protobuf::Timestamp]
59
+ # Output only. The time that the task was created.
60
+ #
61
+ # `create_time` will be truncated to the nearest second.
62
+ # @!attribute [rw] dispatch_count
63
+ # @return [Integer]
64
+ # Output only. The number of attempts dispatched.
65
+ #
66
+ # This count includes tasks which have been dispatched but haven't
67
+ # received a response.
68
+ # @!attribute [rw] response_count
69
+ # @return [Integer]
70
+ # Output only. The number of attempts which have received a response.
71
+ # @!attribute [rw] first_attempt
72
+ # @return [Google::Cloud::Tasks::V2beta3::Attempt]
73
+ # Output only. The status of the task's first attempt.
74
+ #
75
+ # Only {Google::Cloud::Tasks::V2beta3::Attempt#dispatch_time dispatch_time} will be set.
76
+ # The other {Google::Cloud::Tasks::V2beta3::Attempt Attempt} information is not retained by Cloud Tasks.
77
+ # @!attribute [rw] last_attempt
78
+ # @return [Google::Cloud::Tasks::V2beta3::Attempt]
79
+ # Output only. The status of the task's last attempt.
80
+ # @!attribute [rw] view
81
+ # @return [Google::Cloud::Tasks::V2beta3::Task::View]
82
+ # Output only. The view specifies which subset of the {Google::Cloud::Tasks::V2beta3::Task Task} has
83
+ # been returned.
84
+ class Task
85
+ # The view specifies a subset of {Google::Cloud::Tasks::V2beta3::Task Task} data.
86
+ #
87
+ # When a task is returned in a response, not all
88
+ # information is retrieved by default because some data, such as
89
+ # payloads, might be desirable to return only when needed because
90
+ # of its large size or because of the sensitivity of data that it
91
+ # contains.
92
+ module View
93
+ # Unspecified. Defaults to BASIC.
94
+ VIEW_UNSPECIFIED = 0
95
+
96
+ # The basic view omits fields which can be large or can contain
97
+ # sensitive data.
98
+ #
99
+ # This view does not include the
100
+ # {Google::Cloud::Tasks::V2beta3::AppEngineHttpRequest#body body in AppEngineHttpRequest}.
101
+ # Bodies are desirable to return only when needed, because they
102
+ # can be large and because of the sensitivity of the data that you
103
+ # choose to store in it.
104
+ BASIC = 1
105
+
106
+ # All information is returned.
107
+ #
108
+ # Authorization for {Google::Cloud::Tasks::V2beta3::Task::View::FULL FULL} requires
109
+ # `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)
110
+ # permission on the {Google::Cloud::Tasks::V2beta3::Queue Queue} resource.
111
+ FULL = 2
112
+ end
113
+ end
114
+
115
+ # The status of a task attempt.
116
+ # @!attribute [rw] schedule_time
117
+ # @return [Google::Protobuf::Timestamp]
118
+ # Output only. The time that this attempt was scheduled.
119
+ #
120
+ # `schedule_time` will be truncated to the nearest microsecond.
121
+ # @!attribute [rw] dispatch_time
122
+ # @return [Google::Protobuf::Timestamp]
123
+ # Output only. The time that this attempt was dispatched.
124
+ #
125
+ # `dispatch_time` will be truncated to the nearest microsecond.
126
+ # @!attribute [rw] response_time
127
+ # @return [Google::Protobuf::Timestamp]
128
+ # Output only. The time that this attempt response was received.
129
+ #
130
+ # `response_time` will be truncated to the nearest microsecond.
131
+ # @!attribute [rw] response_status
132
+ # @return [Google::Rpc::Status]
133
+ # Output only. The response from the target for this attempt.
134
+ #
135
+ # If `response_time` is unset, then the task has not been attempted or is
136
+ # currently running and the `response_status` field is meaningless.
137
+ class Attempt; end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,63 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Iam
18
+ module V1
19
+ # Request message for `SetIamPolicy` method.
20
+ # @!attribute [rw] resource
21
+ # @return [String]
22
+ # REQUIRED: The resource for which the policy is being specified.
23
+ # `resource` is usually specified as a path. For example, a Project
24
+ # resource is specified as `projects/{project}`.
25
+ # @!attribute [rw] policy
26
+ # @return [Google::Iam::V1::Policy]
27
+ # REQUIRED: The complete policy to be applied to the `resource`. The size of
28
+ # the policy is limited to a few 10s of KB. An empty policy is a
29
+ # valid policy but certain Cloud Platform services (such as Projects)
30
+ # might reject them.
31
+ class SetIamPolicyRequest; end
32
+
33
+ # Request message for `GetIamPolicy` method.
34
+ # @!attribute [rw] resource
35
+ # @return [String]
36
+ # REQUIRED: The resource for which the policy is being requested.
37
+ # `resource` is usually specified as a path. For example, a Project
38
+ # resource is specified as `projects/{project}`.
39
+ class GetIamPolicyRequest; end
40
+
41
+ # Request message for `TestIamPermissions` method.
42
+ # @!attribute [rw] resource
43
+ # @return [String]
44
+ # REQUIRED: The resource for which the policy detail is being requested.
45
+ # `resource` is usually specified as a path. For example, a Project
46
+ # resource is specified as `projects/{project}`.
47
+ # @!attribute [rw] permissions
48
+ # @return [Array<String>]
49
+ # The set of permissions to check for the `resource`. Permissions with
50
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
51
+ # information see
52
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
53
+ class TestIamPermissionsRequest; end
54
+
55
+ # Response message for `TestIamPermissions` method.
56
+ # @!attribute [rw] permissions
57
+ # @return [Array<String>]
58
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
59
+ # allowed.
60
+ class TestIamPermissionsResponse; end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,128 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Iam
18
+ module V1
19
+ # Defines an Identity and Access Management (IAM) policy. It is used to
20
+ # specify access control policies for Cloud Platform resources.
21
+ #
22
+ #
23
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
24
+ # `members` to a `role`, where the members can be user accounts, Google groups,
25
+ # Google domains, and service accounts. A `role` is a named list of permissions
26
+ # defined by IAM.
27
+ #
28
+ # **Example**
29
+ #
30
+ # {
31
+ # "bindings": [
32
+ # {
33
+ # "role": "roles/owner",
34
+ # "members": [
35
+ # "user:mike@example.com",
36
+ # "group:admins@example.com",
37
+ # "domain:google.com",
38
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
39
+ # ]
40
+ # },
41
+ # {
42
+ # "role": "roles/viewer",
43
+ # "members": ["user:sean@example.com"]
44
+ # }
45
+ # ]
46
+ # }
47
+ #
48
+ # For a description of IAM and its features, see the
49
+ # [IAM developer's guide](https://cloud.google.com/iam).
50
+ # @!attribute [rw] version
51
+ # @return [Integer]
52
+ # Version of the `Policy`. The default version is 0.
53
+ # @!attribute [rw] bindings
54
+ # @return [Array<Google::Iam::V1::Binding>]
55
+ # Associates a list of `members` to a `role`.
56
+ # Multiple `bindings` must not be specified for the same `role`.
57
+ # `bindings` with no members will result in an error.
58
+ # @!attribute [rw] etag
59
+ # @return [String]
60
+ # `etag` is used for optimistic concurrency control as a way to help
61
+ # prevent simultaneous updates of a policy from overwriting each other.
62
+ # It is strongly suggested that systems make use of the `etag` in the
63
+ # read-modify-write cycle to perform policy updates in order to avoid race
64
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
65
+ # systems are expected to put that etag in the request to `setIamPolicy` to
66
+ # ensure that their change will be applied to the same version of the policy.
67
+ #
68
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
69
+ # policy is overwritten blindly.
70
+ class Policy; end
71
+
72
+ # Associates `members` with a `role`.
73
+ # @!attribute [rw] role
74
+ # @return [String]
75
+ # Role that is assigned to `members`.
76
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
77
+ # Required
78
+ # @!attribute [rw] members
79
+ # @return [Array<String>]
80
+ # Specifies the identities requesting access for a Cloud Platform resource.
81
+ # `members` can have the following values:
82
+ #
83
+ # * `allUsers`: A special identifier that represents anyone who is
84
+ # on the internet; with or without a Google account.
85
+ #
86
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
87
+ # who is authenticated with a Google account or a service account.
88
+ #
89
+ # * `user:{emailid}`: An email address that represents a specific Google
90
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
91
+ #
92
+ #
93
+ # * `serviceAccount:{emailid}`: An email address that represents a service
94
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
95
+ #
96
+ # * `group:{emailid}`: An email address that represents a Google group.
97
+ # For example, `admins@example.com`.
98
+ #
99
+ # * `domain:{domain}`: A Google Apps domain name that represents all the
100
+ # users of that domain. For example, `google.com` or `example.com`.
101
+ class Binding; end
102
+
103
+ # The difference delta between two policies.
104
+ # @!attribute [rw] binding_deltas
105
+ # @return [Array<Google::Iam::V1::BindingDelta>]
106
+ # The delta for Bindings between two policies.
107
+ class PolicyDelta; end
108
+
109
+ # One delta entry for Binding. Each individual change (only one member in each
110
+ # entry) to a binding will be a separate entry.
111
+ # @!attribute [rw] action
112
+ # @return [Google::Iam::V1::BindingDelta::Action]
113
+ # The action that was performed on a Binding.
114
+ # Required
115
+ # @!attribute [rw] role
116
+ # @return [String]
117
+ # Role that is assigned to `members`.
118
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
119
+ # Required
120
+ # @!attribute [rw] member
121
+ # @return [String]
122
+ # A single identity requesting access for a Cloud Platform resource.
123
+ # Follows the same format of Binding.members.
124
+ # Required
125
+ class BindingDelta; end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,130 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ module Google
17
+ module Protobuf
18
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
19
+ # URL that describes the type of the serialized message.
20
+ #
21
+ # Protobuf library provides support to pack/unpack Any values in the form
22
+ # of utility functions or additional generated methods of the Any type.
23
+ #
24
+ # Example 1: Pack and unpack a message in C++.
25
+ #
26
+ # Foo foo = ...;
27
+ # Any any;
28
+ # any.PackFrom(foo);
29
+ # ...
30
+ # if (any.UnpackTo(&foo)) {
31
+ # ...
32
+ # }
33
+ #
34
+ # Example 2: Pack and unpack a message in Java.
35
+ #
36
+ # Foo foo = ...;
37
+ # Any any = Any.pack(foo);
38
+ # ...
39
+ # if (any.is(Foo.class)) {
40
+ # foo = any.unpack(Foo.class);
41
+ # }
42
+ #
43
+ # Example 3: Pack and unpack a message in Python.
44
+ #
45
+ # foo = Foo(...)
46
+ # any = Any()
47
+ # any.Pack(foo)
48
+ # ...
49
+ # if any.Is(Foo.DESCRIPTOR):
50
+ # any.Unpack(foo)
51
+ # ...
52
+ #
53
+ # Example 4: Pack and unpack a message in Go
54
+ #
55
+ # foo := &pb.Foo{...}
56
+ # any, err := ptypes.MarshalAny(foo)
57
+ # ...
58
+ # foo := &pb.Foo{}
59
+ # if err := ptypes.UnmarshalAny(any, foo); err != nil {
60
+ # ...
61
+ # }
62
+ #
63
+ # The pack methods provided by protobuf library will by default use
64
+ # 'type.googleapis.com/full.type.name' as the type URL and the unpack
65
+ # methods only use the fully qualified type name after the last '/'
66
+ # in the type URL, for example "foo.bar.com/x/y.z" will yield type
67
+ # name "y.z".
68
+ #
69
+ #
70
+ # = JSON
71
+ #
72
+ # The JSON representation of an `Any` value uses the regular
73
+ # representation of the deserialized, embedded message, with an
74
+ # additional field `@type` which contains the type URL. Example:
75
+ #
76
+ # package google.profile;
77
+ # message Person {
78
+ # string first_name = 1;
79
+ # string last_name = 2;
80
+ # }
81
+ #
82
+ # {
83
+ # "@type": "type.googleapis.com/google.profile.Person",
84
+ # "firstName": <string>,
85
+ # "lastName": <string>
86
+ # }
87
+ #
88
+ # If the embedded message type is well-known and has a custom JSON
89
+ # representation, that representation will be embedded adding a field
90
+ # `value` which holds the custom JSON in addition to the `@type`
91
+ # field. Example (for message {Google::Protobuf::Duration}):
92
+ #
93
+ # {
94
+ # "@type": "type.googleapis.com/google.protobuf.Duration",
95
+ # "value": "1.212s"
96
+ # }
97
+ # @!attribute [rw] type_url
98
+ # @return [String]
99
+ # A URL/resource name that uniquely identifies the type of the serialized
100
+ # protocol buffer message. The last segment of the URL's path must represent
101
+ # the fully qualified name of the type (as in
102
+ # `path/google.protobuf.Duration`). The name should be in a canonical form
103
+ # (e.g., leading "." is not accepted).
104
+ #
105
+ # In practice, teams usually precompile into the binary all types that they
106
+ # expect it to use in the context of Any. However, for URLs which use the
107
+ # scheme `http`, `https`, or no scheme, one can optionally set up a type
108
+ # server that maps type URLs to message definitions as follows:
109
+ #
110
+ # * If no scheme is provided, `https` is assumed.
111
+ # * An HTTP GET on the URL must yield a {Google::Protobuf::Type}
112
+ # value in binary format, or produce an error.
113
+ # * Applications are allowed to cache lookup results based on the
114
+ # URL, or have them precompiled into a binary to avoid any
115
+ # lookup. Therefore, binary compatibility needs to be preserved
116
+ # on changes to types. (Use versioned type names to manage
117
+ # breaking changes.)
118
+ #
119
+ # Note: this functionality is not currently available in the official
120
+ # protobuf release, and it is not used for type URLs beginning with
121
+ # type.googleapis.com.
122
+ #
123
+ # Schemes other than `http`, `https` (or the empty scheme) might be
124
+ # used with implementation specific semantics.
125
+ # @!attribute [rw] value
126
+ # @return [String]
127
+ # Must be a valid serialized protocol buffer of the above specified type.
128
+ class Any; end
129
+ end
130
+ end