Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Added support for the AuthenticationConfig field to Dataproc serverless workload configurations, allowing specification of the user workload identity as either the end user or a service account #29182

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,12 @@ class EnvironmentConfig
# staging and temporary buckets.
# **This field requires a Cloud Storage bucket name, not a `gs://...` URI to
# a Cloud Storage bucket.**
# @!attribute [rw] authentication_config
# @return [::Google::Cloud::Dataproc::V1::AuthenticationConfig]
# Optional. Authentication configuration used to set the default identity for
# the workload execution. The config specifies the type of identity
# (service account or user) that will be used by workloads to access
# resources on the project(s).
class ExecutionConfig
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods
Expand Down Expand Up @@ -519,6 +525,33 @@ class GkeNodePoolAutoscalingConfig
end
end

# Authentication configuration for a workload is used to set the default
# identity for the workload execution.
# The config specifies the type of identity (service account or user) that
# will be used by workloads to access resources on the project(s).
# @!attribute [rw] user_workload_authentication_type
# @return [::Google::Cloud::Dataproc::V1::AuthenticationConfig::AuthenticationType]
# Optional. Authentication type for the user workload running in containers.
class AuthenticationConfig
include ::Google::Protobuf::MessageExts
extend ::Google::Protobuf::MessageExts::ClassMethods

# Authentication types for workload execution.
module AuthenticationType
# If AuthenticationType is unspecified then END_USER_CREDENTIALS is used
# for 3.0 and newer runtimes, and SERVICE_ACCOUNT is used for older
# runtimes.
AUTHENTICATION_TYPE_UNSPECIFIED = 0

# Use service account credentials for authenticating to other services.
SERVICE_ACCOUNT = 1

# Use OAuth credentials associated with the workload creator/user for
# authenticating to other services.
END_USER_CREDENTIALS = 2
end
end

# Autotuning configuration of the workload.
# @!attribute [rw] scenarios
# @return [::Array<::Google::Cloud::Dataproc::V1::AutotuningConfig::Scenario>]
Expand Down