google-cloud-tasks 0.2.4 → 0.2.5

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.
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