google-cloud-connectors-v1 0.a → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +141 -8
  5. data/lib/google/cloud/connectors/v1/authconfig_pb.rb +52 -0
  6. data/lib/google/cloud/connectors/v1/bindings_override.rb +159 -0
  7. data/lib/google/cloud/connectors/v1/common_pb.rb +58 -0
  8. data/lib/google/cloud/connectors/v1/connection_pb.rb +84 -0
  9. data/lib/google/cloud/connectors/v1/connector_pb.rb +51 -0
  10. data/lib/google/cloud/connectors/v1/connector_version_pb.rb +63 -0
  11. data/lib/google/cloud/connectors/v1/connectors/client.rb +2189 -0
  12. data/lib/google/cloud/connectors/v1/connectors/credentials.rb +47 -0
  13. data/lib/google/cloud/connectors/v1/connectors/operations.rb +809 -0
  14. data/lib/google/cloud/connectors/v1/connectors/paths.rb +182 -0
  15. data/lib/google/cloud/connectors/v1/connectors/rest/client.rb +2049 -0
  16. data/lib/google/cloud/connectors/v1/connectors/rest/operations.rb +902 -0
  17. data/lib/google/cloud/connectors/v1/connectors/rest/service_stub.rb +1075 -0
  18. data/lib/google/cloud/connectors/v1/connectors/rest.rb +54 -0
  19. data/lib/google/cloud/connectors/v1/connectors.rb +56 -0
  20. data/lib/google/cloud/connectors/v1/connectors_service_pb.rb +53 -0
  21. data/lib/google/cloud/connectors/v1/connectors_service_services_pb.rb +80 -0
  22. data/lib/google/cloud/connectors/v1/destination_config_pb.rb +43 -0
  23. data/lib/google/cloud/connectors/v1/provider_pb.rb +51 -0
  24. data/lib/google/cloud/connectors/v1/rest.rb +38 -0
  25. data/lib/google/cloud/connectors/v1/runtime_pb.rb +47 -0
  26. data/lib/google/cloud/connectors/v1/settings_pb.rb +46 -0
  27. data/lib/google/cloud/connectors/v1/ssl_config_pb.rb +49 -0
  28. data/lib/google/cloud/connectors/v1/version.rb +7 -2
  29. data/lib/google/cloud/connectors/v1.rb +45 -0
  30. data/lib/google-cloud-connectors-v1.rb +21 -0
  31. data/proto_docs/README.md +4 -0
  32. data/proto_docs/google/api/client.rb +420 -0
  33. data/proto_docs/google/api/field_behavior.rb +85 -0
  34. data/proto_docs/google/api/launch_stage.rb +71 -0
  35. data/proto_docs/google/api/resource.rb +227 -0
  36. data/proto_docs/google/cloud/connectors/v1/authconfig.rb +165 -0
  37. data/proto_docs/google/cloud/connectors/v1/common.rb +287 -0
  38. data/proto_docs/google/cloud/connectors/v1/connection.rb +678 -0
  39. data/proto_docs/google/cloud/connectors/v1/connector.rb +119 -0
  40. data/proto_docs/google/cloud/connectors/v1/connector_version.rb +234 -0
  41. data/proto_docs/google/cloud/connectors/v1/destination_config.rb +53 -0
  42. data/proto_docs/google/cloud/connectors/v1/provider.rb +118 -0
  43. data/proto_docs/google/cloud/connectors/v1/runtime.rb +106 -0
  44. data/proto_docs/google/cloud/connectors/v1/settings.rb +51 -0
  45. data/proto_docs/google/cloud/connectors/v1/ssl_config.rb +117 -0
  46. data/proto_docs/google/longrunning/operations.rb +164 -0
  47. data/proto_docs/google/protobuf/any.rb +145 -0
  48. data/proto_docs/google/protobuf/duration.rb +98 -0
  49. data/proto_docs/google/protobuf/empty.rb +34 -0
  50. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  51. data/proto_docs/google/protobuf/struct.rb +96 -0
  52. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  53. data/proto_docs/google/rpc/status.rb +48 -0
  54. data/proto_docs/google/type/expr.rb +75 -0
  55. metadata +136 -10
@@ -0,0 +1,227 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # pattern: "projects/{project}/topics/{topic}"
37
+ # };
38
+ # }
39
+ #
40
+ # The ResourceDescriptor Yaml config will look like:
41
+ #
42
+ # resources:
43
+ # - type: "pubsub.googleapis.com/Topic"
44
+ # pattern: "projects/{project}/topics/{topic}"
45
+ #
46
+ # Sometimes, resources have multiple patterns, typically because they can
47
+ # live under multiple parents.
48
+ #
49
+ # Example:
50
+ #
51
+ # message LogEntry {
52
+ # option (google.api.resource) = {
53
+ # type: "logging.googleapis.com/LogEntry"
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
58
+ # };
59
+ # }
60
+ #
61
+ # The ResourceDescriptor Yaml config will look like:
62
+ #
63
+ # resources:
64
+ # - type: 'logging.googleapis.com/LogEntry'
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
69
+ # @!attribute [rw] type
70
+ # @return [::String]
71
+ # The resource type. It must be in the format of
72
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
73
+ # singular and must not include version numbers.
74
+ #
75
+ # Example: `storage.googleapis.com/Bucket`
76
+ #
77
+ # The value of the resource_type_kind must follow the regular expression
78
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
79
+ # should use PascalCase (UpperCamelCase). The maximum number of
80
+ # characters allowed for the `resource_type_kind` is 100.
81
+ # @!attribute [rw] pattern
82
+ # @return [::Array<::String>]
83
+ # Optional. The relative resource name pattern associated with this resource
84
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
85
+ #
86
+ # The path pattern must follow the syntax, which aligns with HTTP binding
87
+ # syntax:
88
+ #
89
+ # Template = Segment { "/" Segment } ;
90
+ # Segment = LITERAL | Variable ;
91
+ # Variable = "{" LITERAL "}" ;
92
+ #
93
+ # Examples:
94
+ #
95
+ # - "projects/\\{project}/topics/\\{topic}"
96
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
97
+ #
98
+ # The components in braces correspond to the IDs for each resource in the
99
+ # hierarchy. It is expected that, if multiple patterns are provided,
100
+ # the same component name (e.g. "project") refers to IDs of the same
101
+ # type of resource.
102
+ # @!attribute [rw] name_field
103
+ # @return [::String]
104
+ # Optional. The field on the resource that designates the resource name
105
+ # field. If omitted, this is assumed to be "name".
106
+ # @!attribute [rw] history
107
+ # @return [::Google::Api::ResourceDescriptor::History]
108
+ # Optional. The historical or future-looking state of the resource pattern.
109
+ #
110
+ # Example:
111
+ #
112
+ # // The InspectTemplate message originally only supported resource
113
+ # // names with organization, and project was added later.
114
+ # message InspectTemplate {
115
+ # option (google.api.resource) = {
116
+ # type: "dlp.googleapis.com/InspectTemplate"
117
+ # pattern:
118
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
119
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
120
+ # history: ORIGINALLY_SINGLE_PATTERN
121
+ # };
122
+ # }
123
+ # @!attribute [rw] plural
124
+ # @return [::String]
125
+ # The plural name used in the resource name and permission names, such as
126
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
134
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
135
+ #
136
+ # Note: The plural form is required even for singleton resources. See
137
+ # https://aip.dev/156
138
+ # @!attribute [rw] singular
139
+ # @return [::String]
140
+ # The same concept of the `singular` field in k8s CRD spec
141
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
142
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
143
+ # @!attribute [rw] style
144
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
145
+ # Style flag(s) for this resource.
146
+ # These indicate that a resource is expected to conform to a given
147
+ # style. See the specific style flags for additional information.
148
+ class ResourceDescriptor
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+
152
+ # A description of the historical or future-looking state of the
153
+ # resource pattern.
154
+ module History
155
+ # The "unset" value.
156
+ HISTORY_UNSPECIFIED = 0
157
+
158
+ # The resource originally had one pattern and launched as such, and
159
+ # additional patterns were added later.
160
+ ORIGINALLY_SINGLE_PATTERN = 1
161
+
162
+ # The resource has one pattern, but the API owner expects to add more
163
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
164
+ # that from being necessary once there are multiple patterns.)
165
+ FUTURE_MULTI_PATTERN = 2
166
+ end
167
+
168
+ # A flag representing a specific style that a resource claims to conform to.
169
+ module Style
170
+ # The unspecified value. Do not use.
171
+ STYLE_UNSPECIFIED = 0
172
+
173
+ # This resource is intended to be "declarative-friendly".
174
+ #
175
+ # Declarative-friendly resources must be more strictly consistent, and
176
+ # setting this to true communicates to tools that this resource should
177
+ # adhere to declarative-friendly expectations.
178
+ #
179
+ # Note: This is used by the API linter (linter.aip.dev) to enable
180
+ # additional checks.
181
+ DECLARATIVE_FRIENDLY = 1
182
+ end
183
+ end
184
+
185
+ # Defines a proto annotation that describes a string field that refers to
186
+ # an API resource.
187
+ # @!attribute [rw] type
188
+ # @return [::String]
189
+ # The resource type that the annotated field references.
190
+ #
191
+ # Example:
192
+ #
193
+ # message Subscription {
194
+ # string topic = 2 [(google.api.resource_reference) = {
195
+ # type: "pubsub.googleapis.com/Topic"
196
+ # }];
197
+ # }
198
+ #
199
+ # Occasionally, a field may reference an arbitrary resource. In this case,
200
+ # APIs use the special value * in their resource reference.
201
+ #
202
+ # Example:
203
+ #
204
+ # message GetIamPolicyRequest {
205
+ # string resource = 2 [(google.api.resource_reference) = {
206
+ # type: "*"
207
+ # }];
208
+ # }
209
+ # @!attribute [rw] child_type
210
+ # @return [::String]
211
+ # The resource type of a child collection that the annotated field
212
+ # references. This is useful for annotating the `parent` field that
213
+ # doesn't have a fixed resource type.
214
+ #
215
+ # Example:
216
+ #
217
+ # message ListLogEntriesRequest {
218
+ # string parent = 1 [(google.api.resource_reference) = {
219
+ # child_type: "logging.googleapis.com/LogEntry"
220
+ # };
221
+ # }
222
+ class ResourceReference
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+ end
227
+ end
@@ -0,0 +1,165 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Connectors
23
+ module V1
24
+ # AuthConfig defines details of a authentication type.
25
+ # @!attribute [rw] auth_type
26
+ # @return [::Google::Cloud::Connectors::V1::AuthType]
27
+ # The type of authentication configured.
28
+ # @!attribute [rw] user_password
29
+ # @return [::Google::Cloud::Connectors::V1::AuthConfig::UserPassword]
30
+ # UserPassword.
31
+ # @!attribute [rw] oauth2_jwt_bearer
32
+ # @return [::Google::Cloud::Connectors::V1::AuthConfig::Oauth2JwtBearer]
33
+ # Oauth2JwtBearer.
34
+ # @!attribute [rw] oauth2_client_credentials
35
+ # @return [::Google::Cloud::Connectors::V1::AuthConfig::Oauth2ClientCredentials]
36
+ # Oauth2ClientCredentials.
37
+ # @!attribute [rw] ssh_public_key
38
+ # @return [::Google::Cloud::Connectors::V1::AuthConfig::SshPublicKey]
39
+ # SSH Public Key.
40
+ # @!attribute [rw] additional_variables
41
+ # @return [::Array<::Google::Cloud::Connectors::V1::ConfigVariable>]
42
+ # List containing additional auth configs.
43
+ class AuthConfig
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+
47
+ # Parameters to support Username and Password Authentication.
48
+ # @!attribute [rw] username
49
+ # @return [::String]
50
+ # Username.
51
+ # @!attribute [rw] password
52
+ # @return [::Google::Cloud::Connectors::V1::Secret]
53
+ # Secret version reference containing the password.
54
+ class UserPassword
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+ end
58
+
59
+ # Parameters to support JSON Web Token (JWT) Profile for Oauth 2.0
60
+ # Authorization Grant based authentication.
61
+ # See https://tools.ietf.org/html/rfc7523 for more details.
62
+ # @!attribute [rw] client_key
63
+ # @return [::Google::Cloud::Connectors::V1::Secret]
64
+ # Secret version reference containing a PKCS#8 PEM-encoded private
65
+ # key associated with the Client Certificate. This private key will be
66
+ # used to sign JWTs used for the jwt-bearer authorization grant.
67
+ # Specified in the form as: `projects/*/secrets/*/versions/*`.
68
+ # @!attribute [rw] jwt_claims
69
+ # @return [::Google::Cloud::Connectors::V1::AuthConfig::Oauth2JwtBearer::JwtClaims]
70
+ # JwtClaims providers fields to generate the token.
71
+ class Oauth2JwtBearer
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+
75
+ # JWT claims used for the jwt-bearer authorization grant.
76
+ # @!attribute [rw] issuer
77
+ # @return [::String]
78
+ # Value for the "iss" claim.
79
+ # @!attribute [rw] subject
80
+ # @return [::String]
81
+ # Value for the "sub" claim.
82
+ # @!attribute [rw] audience
83
+ # @return [::String]
84
+ # Value for the "aud" claim.
85
+ class JwtClaims
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+ end
90
+
91
+ # Parameters to support Oauth 2.0 Client Credentials Grant Authentication.
92
+ # See https://tools.ietf.org/html/rfc6749#section-1.3.4 for more details.
93
+ # @!attribute [rw] client_id
94
+ # @return [::String]
95
+ # The client identifier.
96
+ # @!attribute [rw] client_secret
97
+ # @return [::Google::Cloud::Connectors::V1::Secret]
98
+ # Secret version reference containing the client secret.
99
+ class Oauth2ClientCredentials
100
+ include ::Google::Protobuf::MessageExts
101
+ extend ::Google::Protobuf::MessageExts::ClassMethods
102
+ end
103
+
104
+ # Parameters to support Ssh public key Authentication.
105
+ # @!attribute [rw] username
106
+ # @return [::String]
107
+ # The user account used to authenticate.
108
+ # @!attribute [rw] ssh_client_cert
109
+ # @return [::Google::Cloud::Connectors::V1::Secret]
110
+ # SSH Client Cert. It should contain both public and private key.
111
+ # @!attribute [rw] cert_type
112
+ # @return [::String]
113
+ # Format of SSH Client cert.
114
+ # @!attribute [rw] ssh_client_cert_pass
115
+ # @return [::Google::Cloud::Connectors::V1::Secret]
116
+ # Password (passphrase) for ssh client certificate if it has one.
117
+ class SshPublicKey
118
+ include ::Google::Protobuf::MessageExts
119
+ extend ::Google::Protobuf::MessageExts::ClassMethods
120
+ end
121
+ end
122
+
123
+ # AuthConfigTemplate defines required field over an authentication type.
124
+ # @!attribute [rw] auth_type
125
+ # @return [::Google::Cloud::Connectors::V1::AuthType]
126
+ # The type of authentication configured.
127
+ # @!attribute [rw] config_variable_templates
128
+ # @return [::Array<::Google::Cloud::Connectors::V1::ConfigVariableTemplate>]
129
+ # Config variables to describe an `AuthConfig` for a `Connection`.
130
+ # @!attribute [rw] display_name
131
+ # @return [::String]
132
+ # Display name for authentication template.
133
+ # @!attribute [rw] description
134
+ # @return [::String]
135
+ # Connector specific description for an authentication template.
136
+ class AuthConfigTemplate
137
+ include ::Google::Protobuf::MessageExts
138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
139
+ end
140
+
141
+ # AuthType defines different authentication types.
142
+ module AuthType
143
+ # Authentication type not specified.
144
+ AUTH_TYPE_UNSPECIFIED = 0
145
+
146
+ # Username and Password Authentication.
147
+ USER_PASSWORD = 1
148
+
149
+ # JSON Web Token (JWT) Profile for Oauth 2.0
150
+ # Authorization Grant based authentication
151
+ OAUTH2_JWT_BEARER = 2
152
+
153
+ # Oauth 2.0 Client Credentials Grant Authentication
154
+ OAUTH2_CLIENT_CREDENTIALS = 3
155
+
156
+ # SSH Public Key Authentication
157
+ SSH_PUBLIC_KEY = 4
158
+
159
+ # Oauth 2.0 Authorization Code Flow
160
+ OAUTH2_AUTH_CODE_FLOW = 5
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,287 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Connectors
23
+ module V1
24
+ # Represents the metadata of the long-running operation.
25
+ # @!attribute [r] create_time
26
+ # @return [::Google::Protobuf::Timestamp]
27
+ # Output only. The time the operation was created.
28
+ # @!attribute [r] end_time
29
+ # @return [::Google::Protobuf::Timestamp]
30
+ # Output only. The time the operation finished running.
31
+ # @!attribute [r] target
32
+ # @return [::String]
33
+ # Output only. Server-defined resource path for the target of the operation.
34
+ # @!attribute [r] verb
35
+ # @return [::String]
36
+ # Output only. Name of the verb executed by the operation.
37
+ # @!attribute [r] status_message
38
+ # @return [::String]
39
+ # Output only. Human-readable status of the operation, if any.
40
+ # @!attribute [r] requested_cancellation
41
+ # @return [::Boolean]
42
+ # Output only. Identifies whether the user has requested cancellation
43
+ # of the operation. Operations that have successfully been cancelled
44
+ # have [Operation.error][] value with a
45
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
46
+ # `Code.CANCELLED`.
47
+ # @!attribute [r] api_version
48
+ # @return [::String]
49
+ # Output only. API version used to start the operation.
50
+ class OperationMetadata
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # ConfigVariableTemplate provides metadata about a `ConfigVariable` that is
56
+ # used in a Connection.
57
+ # @!attribute [rw] key
58
+ # @return [::String]
59
+ # Key of the config variable.
60
+ # @!attribute [rw] value_type
61
+ # @return [::Google::Cloud::Connectors::V1::ConfigVariableTemplate::ValueType]
62
+ # Type of the parameter: string, int, bool etc.
63
+ # consider custom type for the benefit for the validation.
64
+ # @!attribute [rw] display_name
65
+ # @return [::String]
66
+ # Display name of the parameter.
67
+ # @!attribute [rw] description
68
+ # @return [::String]
69
+ # Description.
70
+ # @!attribute [rw] validation_regex
71
+ # @return [::String]
72
+ # Regular expression in RE2 syntax used for validating the `value` of a
73
+ # `ConfigVariable`.
74
+ # @!attribute [rw] required
75
+ # @return [::Boolean]
76
+ # Flag represents that this `ConfigVariable` must be provided for a
77
+ # connection.
78
+ # @!attribute [rw] role_grant
79
+ # @return [::Google::Cloud::Connectors::V1::RoleGrant]
80
+ # Role grant configuration for the config variable.
81
+ # @!attribute [rw] enum_options
82
+ # @return [::Array<::Google::Cloud::Connectors::V1::EnumOption>]
83
+ # Enum options. To be populated if `ValueType` is `ENUM`
84
+ # @!attribute [rw] authorization_code_link
85
+ # @return [::Google::Cloud::Connectors::V1::AuthorizationCodeLink]
86
+ # Authorization code link options. To be populated if `ValueType` is
87
+ # `AUTHORIZATION_CODE`
88
+ # @!attribute [rw] state
89
+ # @return [::Google::Cloud::Connectors::V1::ConfigVariableTemplate::State]
90
+ # State of the config variable.
91
+ # @!attribute [rw] is_advanced
92
+ # @return [::Boolean]
93
+ # Indicates if current template is part of advanced settings
94
+ class ConfigVariableTemplate
95
+ include ::Google::Protobuf::MessageExts
96
+ extend ::Google::Protobuf::MessageExts::ClassMethods
97
+
98
+ # ValueType indicates the data type of the value.
99
+ module ValueType
100
+ # Value type is not specified.
101
+ VALUE_TYPE_UNSPECIFIED = 0
102
+
103
+ # Value type is string.
104
+ STRING = 1
105
+
106
+ # Value type is integer.
107
+ INT = 2
108
+
109
+ # Value type is boolean.
110
+ BOOL = 3
111
+
112
+ # Value type is secret.
113
+ SECRET = 4
114
+
115
+ # Value type is enum.
116
+ ENUM = 5
117
+
118
+ # Value type is authorization code.
119
+ AUTHORIZATION_CODE = 6
120
+ end
121
+
122
+ # Indicates the state of the config variable.
123
+ module State
124
+ # Status is unspecified.
125
+ STATE_UNSPECIFIED = 0
126
+
127
+ # Config variable is active
128
+ ACTIVE = 1
129
+
130
+ # Config variable is deprecated.
131
+ DEPRECATED = 2
132
+ end
133
+ end
134
+
135
+ # Secret provides a reference to entries in Secret Manager.
136
+ # @!attribute [rw] secret_version
137
+ # @return [::String]
138
+ # The resource name of the secret version in the format,
139
+ # format as: `projects/*/secrets/*/versions/*`.
140
+ class Secret
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # EnumOption definition
146
+ # @!attribute [rw] id
147
+ # @return [::String]
148
+ # Id of the option.
149
+ # @!attribute [rw] display_name
150
+ # @return [::String]
151
+ # Display name of the option.
152
+ class EnumOption
153
+ include ::Google::Protobuf::MessageExts
154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
155
+ end
156
+
157
+ # ConfigVariable represents a configuration variable present in a Connection.
158
+ # or AuthConfig.
159
+ # @!attribute [rw] key
160
+ # @return [::String]
161
+ # Key of the config variable.
162
+ # @!attribute [rw] int_value
163
+ # @return [::Integer]
164
+ # Value is an integer
165
+ # @!attribute [rw] bool_value
166
+ # @return [::Boolean]
167
+ # Value is a bool.
168
+ # @!attribute [rw] string_value
169
+ # @return [::String]
170
+ # Value is a string.
171
+ # @!attribute [rw] secret_value
172
+ # @return [::Google::Cloud::Connectors::V1::Secret]
173
+ # Value is a secret.
174
+ class ConfigVariable
175
+ include ::Google::Protobuf::MessageExts
176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
177
+ end
178
+
179
+ # This configuration defines all the Cloud IAM roles that needs to be granted
180
+ # to a particular GCP resource for the selected prinicpal like service
181
+ # account. These configurations will let UI display to customers what
182
+ # IAM roles need to be granted by them. Or these configurations can be used
183
+ # by the UI to render a 'grant' button to do the same on behalf of the user.
184
+ # @!attribute [rw] principal
185
+ # @return [::Google::Cloud::Connectors::V1::RoleGrant::Principal]
186
+ # Prinicipal/Identity for whom the role need to assigned.
187
+ # @!attribute [rw] roles
188
+ # @return [::Array<::String>]
189
+ # List of roles that need to be granted.
190
+ # @!attribute [rw] resource
191
+ # @return [::Google::Cloud::Connectors::V1::RoleGrant::Resource]
192
+ # Resource on which the roles needs to be granted for the principal.
193
+ # @!attribute [rw] helper_text_template
194
+ # @return [::String]
195
+ # Template that UI can use to provide helper text to customers.
196
+ class RoleGrant
197
+ include ::Google::Protobuf::MessageExts
198
+ extend ::Google::Protobuf::MessageExts::ClassMethods
199
+
200
+ # Resource definition
201
+ # @!attribute [rw] type
202
+ # @return [::Google::Cloud::Connectors::V1::RoleGrant::Resource::Type]
203
+ # Different types of resource supported.
204
+ # @!attribute [rw] path_template
205
+ # @return [::String]
206
+ # Template to uniquely represent a GCP resource in a format IAM expects
207
+ # This is a template that can have references to other values provided in
208
+ # the config variable template.
209
+ class Resource
210
+ include ::Google::Protobuf::MessageExts
211
+ extend ::Google::Protobuf::MessageExts::ClassMethods
212
+
213
+ # Resource Type definition.
214
+ module Type
215
+ # Value type is not specified.
216
+ TYPE_UNSPECIFIED = 0
217
+
218
+ # GCP Project Resource.
219
+ GCP_PROJECT = 1
220
+
221
+ # Any GCP Resource which is identified uniquely by IAM.
222
+ GCP_RESOURCE = 2
223
+
224
+ # GCP Secret Resource.
225
+ GCP_SECRETMANAGER_SECRET = 3
226
+
227
+ # GCP Secret Version Resource.
228
+ GCP_SECRETMANAGER_SECRET_VERSION = 4
229
+ end
230
+ end
231
+
232
+ # Supported Principal values.
233
+ module Principal
234
+ # Value type is not specified.
235
+ PRINCIPAL_UNSPECIFIED = 0
236
+
237
+ # Service Account used for Connector workload identity
238
+ # This is either the default service account if unspecified or Service
239
+ # Account provided by Customers through BYOSA.
240
+ CONNECTOR_SA = 1
241
+ end
242
+ end
243
+
244
+ # This configuration captures the details required to render an authorization
245
+ # link for the OAuth Authorization Code Flow.
246
+ # @!attribute [rw] uri
247
+ # @return [::String]
248
+ # The base URI the user must click to trigger the authorization code login
249
+ # flow.
250
+ # @!attribute [rw] scopes
251
+ # @return [::Array<::String>]
252
+ # The scopes for which the user will authorize GCP Connectors on the
253
+ # connector data source.
254
+ # @!attribute [rw] client_id
255
+ # @return [::String]
256
+ # The client ID assigned to the GCP Connectors OAuth app for the connector
257
+ # data source.
258
+ # @!attribute [rw] enable_pkce
259
+ # @return [::Boolean]
260
+ # Whether to enable PKCE for the auth code flow.
261
+ class AuthorizationCodeLink
262
+ include ::Google::Protobuf::MessageExts
263
+ extend ::Google::Protobuf::MessageExts::ClassMethods
264
+ end
265
+
266
+ # LaunchStage is a enum to indicate launch stage:
267
+ # PREVIEW, GA, DEPRECATED, PRIVATE_PREVIEW.
268
+ module LaunchStage
269
+ # LAUNCH_STAGE_UNSPECIFIED.
270
+ LAUNCH_STAGE_UNSPECIFIED = 0
271
+
272
+ # PREVIEW.
273
+ PREVIEW = 1
274
+
275
+ # GA.
276
+ GA = 2
277
+
278
+ # DEPRECATED.
279
+ DEPRECATED = 3
280
+
281
+ # PRIVATE_PREVIEW.
282
+ PRIVATE_PREVIEW = 5
283
+ end
284
+ end
285
+ end
286
+ end
287
+ end