diff --git a/flyteadmin/pkg/manager/impl/execution_manager.go b/flyteadmin/pkg/manager/impl/execution_manager.go index da7489258d..7c641d6199 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager.go +++ b/flyteadmin/pkg/manager/impl/execution_manager.go @@ -427,6 +427,37 @@ func (m *ExecutionManager) getClusterAssignment(ctx context.Context, request *ad }, nil } +func (m *ExecutionManager) getExternalResourceAttributes(ctx context.Context, request *admin.ExecutionCreateRequest) ( + *admin.ExternalResourceAttributes, error) { + if request.Spec.ExternalResourceAttributes != nil { + return request.Spec.ExternalResourceAttributes, nil + } + + resource, err := m.resourceManager.GetResource(ctx, interfaces.ResourceRequest{ + Project: request.Project, + Domain: request.Domain, + ResourceType: admin.MatchableResource_EXTERNAL_RESOURCE, + }) + if err != nil && !errors.IsDoesNotExistError(err) { + logger.Errorf(ctx, "Failed to get external resource with error: %v", err) + return nil, err + } + if resource != nil && resource.Attributes.GetExternalResourceAttributes() != nil { + return resource.Attributes.GetExternalResourceAttributes(), nil + } + + externalResource := m.config.ExternalResourceConfiguration().GetExternalResource() + connections := make(map[string]*core.Connection) + for key, connection := range externalResource.Connections { + connections[key] = &core.Connection{ + Secrets: connection.Secrets, + Configs: connection.Configs, + } + } + + return &admin.ExternalResourceAttributes{Connections: connections}, nil +} + func (m *ExecutionManager) launchSingleTaskExecution( ctx context.Context, request admin.ExecutionCreateRequest, requestedAt time.Time) ( context.Context, *models.Execution, error) { @@ -957,23 +988,29 @@ func (m *ExecutionManager) launchExecutionAndPrepareModel( return nil, nil, nil, err } + externalResourceAttribute, err := m.getExternalResourceAttributes(ctx, &request) + if err != nil { + return nil, nil, err + } + var executionClusterLabel *admin.ExecutionClusterLabel if requestSpec.ExecutionClusterLabel != nil { executionClusterLabel = requestSpec.ExecutionClusterLabel } executionParameters := workflowengineInterfaces.ExecutionParameters{ - Inputs: executionInputs, - AcceptedAt: requestedAt, - Labels: labels, - Annotations: annotations, - ExecutionConfig: executionConfig, - TaskResources: &platformTaskResources, - EventVersion: m.config.ApplicationConfiguration().GetTopLevelConfig().EventVersion, - RoleNameKey: m.config.ApplicationConfiguration().GetTopLevelConfig().RoleNameKey, - RawOutputDataConfig: rawOutputDataConfig, - ClusterAssignment: clusterAssignment, - ExecutionClusterLabel: executionClusterLabel, + Inputs: executionInputs, + AcceptedAt: requestedAt, + Labels: labels, + Annotations: annotations, + ExecutionConfig: executionConfig, + TaskResources: &platformTaskResources, + EventVersion: m.config.ApplicationConfiguration().GetTopLevelConfig().EventVersion, + RoleNameKey: m.config.ApplicationConfiguration().GetTopLevelConfig().RoleNameKey, + RawOutputDataConfig: rawOutputDataConfig, + ClusterAssignment: clusterAssignment, + ExecutionClusterLabel: executionClusterLabel, + ExternalResourceAttributes: externalResourceAttribute, } overrides, err := m.addPluginOverrides(ctx, &workflowExecutionID, launchPlan.GetSpec().WorkflowId.Name, launchPlan.Id.Name) diff --git a/flyteadmin/pkg/manager/impl/execution_manager_test.go b/flyteadmin/pkg/manager/impl/execution_manager_test.go index 58e50c0444..7f29a6e4ef 100644 --- a/flyteadmin/pkg/manager/impl/execution_manager_test.go +++ b/flyteadmin/pkg/manager/impl/execution_manager_test.go @@ -5495,6 +5495,93 @@ func TestGetClusterAssignment(t *testing.T) { }) } +func TestGetExternalResourceAttribute(t *testing.T) { + externalResourceAttribute := &admin.ExternalResourceAttributes{ + Connections: map[string]*core.Connection{ + "conn1": { + Secrets: map[string]string{"key1": "value1"}, + Configs: map[string]string{"key2": "value2"}, + }, + }, + } + resourceManager := managerMocks.MockResourceManager{} + resourceManager.GetResourceFunc = func(ctx context.Context, + request managerInterfaces.ResourceRequest) (*managerInterfaces.ResourceResponse, error) { + assert.EqualValues(t, request, managerInterfaces.ResourceRequest{ + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + ResourceType: admin.MatchableResource_EXTERNAL_RESOURCE, + }) + return &managerInterfaces.ResourceResponse{ + Attributes: &admin.MatchingAttributes{ + Target: &admin.MatchingAttributes_ExternalResourceAttributes{ + ExternalResourceAttributes: externalResourceAttribute, + }, + }, + }, nil + } + + executionManager := ExecutionManager{resourceManager: &resourceManager} + + t.Run("value from db", func(t *testing.T) { + era, err := executionManager.getExternalResourceAttributes(context.TODO(), &admin.ExecutionCreateRequest{ + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + Spec: &admin.ExecutionSpec{}, + }) + assert.NoError(t, err) + assert.True(t, proto.Equal(era, externalResourceAttribute)) + }) + t.Run("value from request", func(t *testing.T) { + reqExternalResourceAttribute := &admin.ExternalResourceAttributes{ + Connections: map[string]*core.Connection{ + "conn2": { + Secrets: map[string]string{"key1": "value1"}, + Configs: map[string]string{"key2": "value2"}, + }, + }, + } + era, err := executionManager.getExternalResourceAttributes(context.TODO(), &admin.ExecutionCreateRequest{ + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + Spec: &admin.ExecutionSpec{ + ExternalResourceAttributes: reqExternalResourceAttribute, + }, + }) + assert.NoError(t, err) + assert.True(t, proto.Equal(era, reqExternalResourceAttribute)) + }) + t.Run("value from config", func(t *testing.T) { + name := "conn3" + connections := map[string]runtimeInterfaces.Connection{ + name: { + Secrets: map[string]string{"key1": "value1"}, + Configs: map[string]string{"key2": "value2"}, + }, + } + externalResourceProvider := &runtimeIFaceMocks.ExternalResourceConfiguration{} + externalResourceProvider.OnGetExternalResource().Return(runtimeInterfaces.ExternalResource{ + Connections: connections, + }) + mockConfig := getMockExecutionsConfigProvider() + mockConfig.(*runtimeMocks.MockConfigurationProvider).AddExternalResourceConfiguration(externalResourceProvider) + + executionManager := ExecutionManager{ + resourceManager: &managerMocks.MockResourceManager{}, + config: mockConfig, + } + + era, err := executionManager.getExternalResourceAttributes(context.TODO(), &admin.ExecutionCreateRequest{ + Project: workflowIdentifier.Project, + Domain: workflowIdentifier.Domain, + Spec: &admin.ExecutionSpec{}, + }) + assert.NoError(t, err) + assert.Equal(t, connections[name].Secrets, era.GetConnections()[name].Secrets) + assert.Equal(t, connections[name].Configs, era.GetConnections()[name].Configs) + }) +} + func TestResolvePermissions(t *testing.T) { assumableIamRole := "role" k8sServiceAccount := "sa" diff --git a/flyteadmin/pkg/runtime/configuration_provider.go b/flyteadmin/pkg/runtime/configuration_provider.go index bbaaaca486..740a5a48f6 100644 --- a/flyteadmin/pkg/runtime/configuration_provider.go +++ b/flyteadmin/pkg/runtime/configuration_provider.go @@ -16,6 +16,7 @@ type ConfigurationProvider struct { namespaceMappingConfiguration interfaces.NamespaceMappingConfiguration qualityOfServiceConfiguration interfaces.QualityOfServiceConfiguration clusterPoolAssignmentConfiguration interfaces.ClusterPoolAssignmentConfiguration + externalResourceConfiguration interfaces.ExternalResourceConfiguration } func (p *ConfigurationProvider) ApplicationConfiguration() interfaces.ApplicationConfiguration { @@ -58,6 +59,10 @@ func (p *ConfigurationProvider) ClusterPoolAssignmentConfiguration() interfaces. return p.clusterPoolAssignmentConfiguration } +func (p *ConfigurationProvider) ExternalResourceConfiguration() interfaces.ExternalResourceConfiguration { + return p.externalResourceConfiguration +} + func NewConfigurationProvider() interfaces.Configuration { return &ConfigurationProvider{ applicationConfiguration: NewApplicationConfigurationProvider(), @@ -70,5 +75,6 @@ func NewConfigurationProvider() interfaces.Configuration { namespaceMappingConfiguration: NewNamespaceMappingConfigurationProvider(), qualityOfServiceConfiguration: NewQualityOfServiceConfigProvider(), clusterPoolAssignmentConfiguration: NewClusterPoolAssignmentConfigurationProvider(), + externalResourceConfiguration: NewExternalResourceConfigurationProvider(), } } diff --git a/flyteadmin/pkg/runtime/external_resource_provider.go b/flyteadmin/pkg/runtime/external_resource_provider.go new file mode 100644 index 0000000000..78a162d72c --- /dev/null +++ b/flyteadmin/pkg/runtime/external_resource_provider.go @@ -0,0 +1,21 @@ +package runtime + +import ( + "github.com/flyteorg/flyte/flyteadmin/pkg/runtime/interfaces" + "github.com/flyteorg/flyte/flytestdlib/config" +) + +const externalResourcesKey = "externalResources" + +var externalResourcesConfig = config.MustRegisterSection(externalResourcesKey, &interfaces.ExternalResourceConfig{}) + +// ExternalResourcesConfigurationProvider Implementation of an interfaces.ExternalResourceConfiguration +type ExternalResourcesConfigurationProvider struct{} + +func (e ExternalResourcesConfigurationProvider) GetExternalResource() interfaces.ExternalResource { + return externalResourcesConfig.GetConfig().(*interfaces.ExternalResourceConfig).ExternalResource +} + +func NewExternalResourceConfigurationProvider() interfaces.ExternalResourceConfiguration { + return &ExternalResourcesConfigurationProvider{} +} diff --git a/flyteadmin/pkg/runtime/interfaces/configuration.go b/flyteadmin/pkg/runtime/interfaces/configuration.go index a3272cbcb6..e54cc5af17 100644 --- a/flyteadmin/pkg/runtime/interfaces/configuration.go +++ b/flyteadmin/pkg/runtime/interfaces/configuration.go @@ -12,4 +12,5 @@ type Configuration interface { NamespaceMappingConfiguration() NamespaceMappingConfiguration QualityOfServiceConfiguration() QualityOfServiceConfiguration ClusterPoolAssignmentConfiguration() ClusterPoolAssignmentConfiguration + ExternalResourceConfiguration() ExternalResourceConfiguration } diff --git a/flyteadmin/pkg/runtime/interfaces/external_resource_configuration.go b/flyteadmin/pkg/runtime/interfaces/external_resource_configuration.go new file mode 100644 index 0000000000..6ad07cd287 --- /dev/null +++ b/flyteadmin/pkg/runtime/interfaces/external_resource_configuration.go @@ -0,0 +1,20 @@ +package interfaces + +//go:generate mockery -name ExternalResourceConfiguration -output=mocks -case=underscore + +type Connection struct { + Secrets map[string]string `json:"secrets"` + Configs map[string]string `json:"configs"` +} + +type ExternalResource struct { + Connections map[string]Connection `json:"connections"` +} + +type ExternalResourceConfig struct { + ExternalResource ExternalResource `json:"externalResource"` +} + +type ExternalResourceConfiguration interface { + GetExternalResource() ExternalResource +} diff --git a/flyteadmin/pkg/runtime/interfaces/mocks/external_resource_configuration.go b/flyteadmin/pkg/runtime/interfaces/mocks/external_resource_configuration.go new file mode 100644 index 0000000000..290ac32689 --- /dev/null +++ b/flyteadmin/pkg/runtime/interfaces/mocks/external_resource_configuration.go @@ -0,0 +1,45 @@ +// Code generated by mockery v1.0.1. DO NOT EDIT. + +package mocks + +import ( + interfaces "github.com/flyteorg/flyte/flyteadmin/pkg/runtime/interfaces" + mock "github.com/stretchr/testify/mock" +) + +// ExternalResourceConfiguration is an autogenerated mock type for the ExternalResourceConfiguration type +type ExternalResourceConfiguration struct { + mock.Mock +} + +type ExternalResourceConfiguration_GetExternalResource struct { + *mock.Call +} + +func (_m ExternalResourceConfiguration_GetExternalResource) Return(_a0 interfaces.ExternalResource) *ExternalResourceConfiguration_GetExternalResource { + return &ExternalResourceConfiguration_GetExternalResource{Call: _m.Call.Return(_a0)} +} + +func (_m *ExternalResourceConfiguration) OnGetExternalResource() *ExternalResourceConfiguration_GetExternalResource { + c_call := _m.On("GetExternalResource") + return &ExternalResourceConfiguration_GetExternalResource{Call: c_call} +} + +func (_m *ExternalResourceConfiguration) OnGetExternalResourceMatch(matchers ...interface{}) *ExternalResourceConfiguration_GetExternalResource { + c_call := _m.On("GetExternalResource", matchers...) + return &ExternalResourceConfiguration_GetExternalResource{Call: c_call} +} + +// GetExternalResource provides a mock function with given fields: +func (_m *ExternalResourceConfiguration) GetExternalResource() interfaces.ExternalResource { + ret := _m.Called() + + var r0 interfaces.ExternalResource + if rf, ok := ret.Get(0).(func() interfaces.ExternalResource); ok { + r0 = rf() + } else { + r0 = ret.Get(0).(interfaces.ExternalResource) + } + + return r0 +} diff --git a/flyteadmin/pkg/runtime/mocks/mock_configuration_provider.go b/flyteadmin/pkg/runtime/mocks/mock_configuration_provider.go index 19f3dcfce7..05b07f18ac 100644 --- a/flyteadmin/pkg/runtime/mocks/mock_configuration_provider.go +++ b/flyteadmin/pkg/runtime/mocks/mock_configuration_provider.go @@ -17,6 +17,7 @@ type MockConfigurationProvider struct { namespaceMappingConfiguration interfaces.NamespaceMappingConfiguration qualityOfServiceConfiguration interfaces.QualityOfServiceConfiguration clusterPoolAssignmentConfiguration interfaces.ClusterPoolAssignmentConfiguration + externalResourceConfiguration interfaces.ExternalResourceConfiguration } func (p *MockConfigurationProvider) ApplicationConfiguration() interfaces.ApplicationConfiguration { @@ -79,6 +80,14 @@ func (p *MockConfigurationProvider) AddClusterPoolAssignmentConfiguration(cfg in p.clusterPoolAssignmentConfiguration = cfg } +func (p *MockConfigurationProvider) ExternalResourceConfiguration() interfaces.ExternalResourceConfiguration { + return p.externalResourceConfiguration +} + +func (p *MockConfigurationProvider) AddExternalResourceConfiguration(cfg interfaces.ExternalResourceConfiguration) { + p.externalResourceConfiguration = cfg +} + func NewMockConfigurationProvider( applicationConfiguration interfaces.ApplicationConfiguration, queueConfiguration interfaces.QueueConfiguration, @@ -94,6 +103,9 @@ func NewMockConfigurationProvider( mockClusterPoolAssignmentConfiguration := &ifaceMocks.ClusterPoolAssignmentConfiguration{} mockClusterPoolAssignmentConfiguration.OnGetClusterPoolAssignments().Return(make(map[string]interfaces.ClusterPoolAssignment)) + mockExternalResourceConfiguration := &ifaceMocks.ExternalResourceConfiguration{} + mockExternalResourceConfiguration.OnGetExternalResource().Return(interfaces.ExternalResource{}) + return &MockConfigurationProvider{ applicationConfiguration: applicationConfiguration, queueConfiguration: queueConfiguration, @@ -103,5 +115,6 @@ func NewMockConfigurationProvider( namespaceMappingConfiguration: namespaceMappingConfiguration, qualityOfServiceConfiguration: mockQualityOfServiceConfiguration, clusterPoolAssignmentConfiguration: mockClusterPoolAssignmentConfiguration, + externalResourceConfiguration: mockExternalResourceConfiguration, } } diff --git a/flyteadmin/pkg/workflowengine/impl/prepare_execution.go b/flyteadmin/pkg/workflowengine/impl/prepare_execution.go index 91642599a6..d08bf7f4b2 100644 --- a/flyteadmin/pkg/workflowengine/impl/prepare_execution.go +++ b/flyteadmin/pkg/workflowengine/impl/prepare_execution.go @@ -42,7 +42,7 @@ func addPermissions(securityCtx *core.SecurityContext, roleNameKey string, flyte func addExecutionOverrides(taskPluginOverrides []*admin.PluginOverride, workflowExecutionConfig *admin.WorkflowExecutionConfig, recoveryExecution *core.WorkflowExecutionIdentifier, - taskResources *interfaces.TaskResources, flyteWf *v1alpha1.FlyteWorkflow) { + taskResources *interfaces.TaskResources, externalResource *admin.ExternalResourceAttributes, flyteWf *v1alpha1.FlyteWorkflow) { executionConfig := v1alpha1.ExecutionConfig{ TaskPluginImpls: make(map[string]v1alpha1.TaskPluginOverride), RecoveryExecution: v1alpha1.WorkflowExecutionIdentifier{ @@ -107,6 +107,21 @@ func addExecutionOverrides(taskPluginOverrides []*admin.PluginOverride, Limits: limits, } } + + if externalResource != nil && externalResource.GetConnections() != nil { + connections := make(map[string]v1alpha1.Connection) + for name, connection := range externalResource.GetConnections() { + connections[name] = v1alpha1.Connection{ + Secrets: connection.GetSecrets(), + Configs: connection.GetConfigs(), + } + } + + executionConfig.ExternalResourceAttribute = v1alpha1.ExternalResourceAttributes{ + Connections: connections, + } + } + flyteWf.ExecutionConfig = executionConfig } @@ -140,7 +155,7 @@ func PrepareFlyteWorkflow(data interfaces.ExecutionData, flyteWorkflow *v1alpha1 } flyteWorkflow.WorkflowMeta.EventVersion = v1alpha1.EventVersion(data.ExecutionParameters.EventVersion) addExecutionOverrides(data.ExecutionParameters.TaskPluginOverrides, data.ExecutionParameters.ExecutionConfig, - data.ExecutionParameters.RecoveryExecution, data.ExecutionParameters.TaskResources, flyteWorkflow) + data.ExecutionParameters.RecoveryExecution, data.ExecutionParameters.TaskResources, data.ExecutionParameters.ExternalResourceAttributes, flyteWorkflow) if data.ExecutionParameters.RawOutputDataConfig != nil { flyteWorkflow.RawOutputDataConfig = v1alpha1.RawOutputDataConfig{ diff --git a/flyteadmin/pkg/workflowengine/impl/prepare_execution_test.go b/flyteadmin/pkg/workflowengine/impl/prepare_execution_test.go index be659208b2..0f54108e2c 100644 --- a/flyteadmin/pkg/workflowengine/impl/prepare_execution_test.go +++ b/flyteadmin/pkg/workflowengine/impl/prepare_execution_test.go @@ -95,7 +95,7 @@ func TestAddExecutionOverrides(t *testing.T) { }, } workflow := &v1alpha1.FlyteWorkflow{} - addExecutionOverrides(overrides, nil, nil, nil, workflow) + addExecutionOverrides(overrides, nil, nil, nil, nil, workflow) assert.EqualValues(t, workflow.ExecutionConfig.TaskPluginImpls, map[string]v1alpha1.TaskPluginOverride{ "taskType1": { PluginIDs: []string{"Plugin1", "Plugin2"}, @@ -108,7 +108,7 @@ func TestAddExecutionOverrides(t *testing.T) { MaxParallelism: 100, } workflow := &v1alpha1.FlyteWorkflow{} - addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, workflow) + addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, nil, workflow) assert.EqualValues(t, workflow.ExecutionConfig.MaxParallelism, uint32(100)) }) t.Run("recovery execution", func(t *testing.T) { @@ -118,7 +118,7 @@ func TestAddExecutionOverrides(t *testing.T) { Name: "n", } workflow := &v1alpha1.FlyteWorkflow{} - addExecutionOverrides(nil, nil, recoveryExecutionID, nil, workflow) + addExecutionOverrides(nil, nil, recoveryExecutionID, nil, nil, workflow) assert.True(t, proto.Equal(recoveryExecutionID, workflow.ExecutionConfig.RecoveryExecution.WorkflowExecutionIdentifier)) }) t.Run("task resources", func(t *testing.T) { @@ -134,7 +134,7 @@ func TestAddExecutionOverrides(t *testing.T) { EphemeralStorage: resource.MustParse("1Gi"), GPU: resource.MustParse("1"), }, - }, workflow) + }, nil, workflow) assert.EqualValues(t, v1alpha1.TaskResourceSpec{ CPU: resource.MustParse("1"), Memory: resource.MustParse("100Gi"), @@ -152,7 +152,7 @@ func TestAddExecutionOverrides(t *testing.T) { Interruptible: &wrappers.BoolValue{Value: true}, } workflow := &v1alpha1.FlyteWorkflow{} - addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, workflow) + addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, nil, workflow) assert.NotNil(t, workflow.ExecutionConfig.Interruptible) assert.True(t, *workflow.ExecutionConfig.Interruptible) }) @@ -161,7 +161,7 @@ func TestAddExecutionOverrides(t *testing.T) { OverwriteCache: true, } workflow := &v1alpha1.FlyteWorkflow{} - addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, workflow) + addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, nil, workflow) assert.True(t, workflow.ExecutionConfig.OverwriteCache) }) t.Run("Override environment variables", func(t *testing.T) { @@ -169,7 +169,7 @@ func TestAddExecutionOverrides(t *testing.T) { Envs: &admin.Envs{Values: []*core.KeyValuePair{{Key: "key", Value: "value"}}}, } workflow := &v1alpha1.FlyteWorkflow{} - addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, workflow) + addExecutionOverrides(nil, workflowExecutionConfig, nil, nil, nil, workflow) assert.Equal(t, workflow.ExecutionConfig.EnvironmentVariables, map[string]string{"key": "value"}) }) } diff --git a/flyteadmin/pkg/workflowengine/interfaces/executor.go b/flyteadmin/pkg/workflowengine/interfaces/executor.go index 181986c2c3..b90cdc4bd1 100644 --- a/flyteadmin/pkg/workflowengine/interfaces/executor.go +++ b/flyteadmin/pkg/workflowengine/interfaces/executor.go @@ -18,19 +18,20 @@ type TaskResources struct { } type ExecutionParameters struct { - Inputs *core.LiteralMap - AcceptedAt time.Time - Labels map[string]string - Annotations map[string]string - TaskPluginOverrides []*admin.PluginOverride - ExecutionConfig *admin.WorkflowExecutionConfig - RecoveryExecution *core.WorkflowExecutionIdentifier - TaskResources *TaskResources - EventVersion int - RoleNameKey string - RawOutputDataConfig *admin.RawOutputDataConfig - ClusterAssignment *admin.ClusterAssignment - ExecutionClusterLabel *admin.ExecutionClusterLabel + Inputs *core.LiteralMap + AcceptedAt time.Time + Labels map[string]string + Annotations map[string]string + TaskPluginOverrides []*admin.PluginOverride + ExecutionConfig *admin.WorkflowExecutionConfig + RecoveryExecution *core.WorkflowExecutionIdentifier + TaskResources *TaskResources + EventVersion int + RoleNameKey string + RawOutputDataConfig *admin.RawOutputDataConfig + ClusterAssignment *admin.ClusterAssignment + ExecutionClusterLabel *admin.ExecutionClusterLabel + ExternalResourceAttributes *admin.ExternalResourceAttributes } // ExecutionData includes all parameters required to create an execution CRD object. diff --git a/flyteidl/clients/go/assets/admin.swagger.json b/flyteidl/clients/go/assets/admin.swagger.json index 351cc67cd6..8211b7e7d0 100644 --- a/flyteidl/clients/go/assets/admin.swagger.json +++ b/flyteidl/clients/go/assets/admin.swagger.json @@ -1793,7 +1793,7 @@ "parameters": [ { "name": "resource_type", - "description": "+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -1805,7 +1805,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -2409,7 +2410,7 @@ }, { "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -2421,7 +2422,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -2561,7 +2563,7 @@ }, { "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -2573,7 +2575,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -3555,7 +3558,7 @@ }, { "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -3567,7 +3570,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -5057,6 +5061,10 @@ "$ref": "#/definitions/coreExecutionEnvAssignment" }, "description": "Execution environment assignments to be set for the execution." + }, + "external_resource_attributes": { + "$ref": "#/definitions/adminExternalResourceAttributes", + "description": "The connection to use for the execution." } }, "description": "An ExecutionSpec encompasses all data used to launch this execution. The Spec does not change over the lifetime\nof an execution as it progresses across phase changes." @@ -5095,6 +5103,19 @@ "adminExecutionUpdateResponse": { "type": "object" }, + "adminExternalResourceAttributes": { + "type": "object", + "properties": { + "connections": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/coreConnection" + }, + "description": "Connections here is used by the agent to connect to external systems." + } + }, + "description": "ExternalResourceAttributes is a message that encapsulates all the attributes\nthat are required to connect to external resources or services." + }, "adminFixedRate": { "type": "object", "properties": { @@ -5425,10 +5446,11 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE", - "description": "Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes\nbased on matching tags.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run." + "description": "Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes\nbased on matching tags.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems." }, "adminMatchingAttributes": { "type": "object", @@ -5456,6 +5478,9 @@ }, "cluster_assignment": { "$ref": "#/definitions/adminClusterAssignment" + }, + "external_resource_attributes": { + "$ref": "#/definitions/adminExternalResourceAttributes" } }, "description": "Generic container for encapsulating all types of the above attributes messages." @@ -6945,6 +6970,29 @@ }, "description": "Defines a conjunction expression of two boolean expressions." }, + "coreConnection": { + "type": "object", + "properties": { + "task_type": { + "type": "string", + "description": "The task type that the connection is used for." + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The credentials to use for the connection, such as API keys, OAuth2 tokens, etc.\nThe key is the name of the secret, and it's defined in the flytekit.\nflytekit uses the key to locate the desired secret within the map." + }, + "configs": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The configuration to use for the connection, such as the endpoint, account name, etc.\nThe key is the name of the config, and it's defined in the flytekit." + } + } + }, "coreConnectionSet": { "type": "object", "properties": { @@ -7076,9 +7124,9 @@ "coreExecutionEnv": { "type": "object", "properties": { - "id": { + "name": { "type": "string", - "description": "id is a unique identifier for the execution environment." + "description": "name is a human-readable identifier for the execution environment. This is combined with the\nproject, domain, and version to uniquely identify an execution environment." }, "type": { "type": "string", @@ -7091,6 +7139,10 @@ "spec": { "type": "object", "description": "spec is a specification of the environment." + }, + "version": { + "type": "string", + "description": "version is the version of the execution environment. This may be used differently by each\nindividual environment type (ex. auto-generated or manually provided), but is intended to\nallow variance in environment specifications with the same ID." } }, "description": "ExecutionEnv is a message that is used to specify the execution environment." @@ -7958,6 +8010,10 @@ "$ref": "#/definitions/coreOAuth2TokenRequest" }, "description": "tokens indicate the list of token requests the task needs in order to proceed. Tokens will be mounted/passed to the\npod as it starts. If the plugin responsible for kicking of the task will not run it on a flyte cluster (e.g. AWS\nBatch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access\nto the secret) and to pass it to the remote execution engine." + }, + "connection_ref": { + "type": "string", + "title": "The name of the connection.\nThe connection is defined in the externalResourceAttributes or flyteadmin configmap.\nThe connection config take precedence in the following order:\n1. connection in the externalResourceAttributes in the project-domain settings.\n2. connection in the externalResourceAttributes in the project settings.\n3. connection in the flyteadmin configmap.\n+optional" } }, "description": "SecurityContext holds security attributes that apply to tasks." diff --git a/flyteidl/gen/pb-es/flyteidl/admin/agent_pb.ts b/flyteidl/gen/pb-es/flyteidl/admin/agent_pb.ts index f9f6c37564..4c393a33c4 100644 --- a/flyteidl/gen/pb-es/flyteidl/admin/agent_pb.ts +++ b/flyteidl/gen/pb-es/flyteidl/admin/agent_pb.ts @@ -7,7 +7,7 @@ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialM import { Duration, Message, proto3, protoInt64, Struct, Timestamp } from "@bufbuild/protobuf"; import { TaskExecutionIdentifier } from "../core/identifier_pb.js"; import { TaskNodeOverrides } from "../core/workflow_pb.js"; -import { Identity } from "../core/security_pb.js"; +import { Connection, Identity } from "../core/security_pb.js"; import { LiteralMap } from "../core/literals_pb.js"; import { TaskTemplate } from "../core/tasks_pb.js"; import { TaskExecution_Phase, TaskLog } from "../core/execution_pb.js"; @@ -216,6 +216,15 @@ export class CreateTaskRequest extends Message { */ taskExecutionMetadata?: TaskExecutionMetadata; + /** + * Connection (secret and config) required by the agent. + * Agent will use the secret and config in the taskTemplate if it's None. + * +optional + * + * @generated from field: flyteidl.core.Connection connection = 5; + */ + connection?: Connection; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -228,6 +237,7 @@ export class CreateTaskRequest extends Message { { no: 2, name: "template", kind: "message", T: TaskTemplate }, { no: 3, name: "output_prefix", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 4, name: "task_execution_metadata", kind: "message", T: TaskExecutionMetadata }, + { no: 5, name: "connection", kind: "message", T: Connection }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): CreateTaskRequest { @@ -320,6 +330,15 @@ export class CreateRequestHeader extends Message { */ maxDatasetSizeBytes = protoInt64.zero; + /** + * Connection (secret and config) required by the agent. + * Agent will use the secret and config in the taskTemplate if it's None. + * +optional + * + * @generated from field: flyteidl.core.Connection connection = 5; + */ + connection?: Connection; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -332,6 +351,7 @@ export class CreateRequestHeader extends Message { { no: 2, name: "output_prefix", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 3, name: "task_execution_metadata", kind: "message", T: TaskExecutionMetadata }, { no: 4, name: "max_dataset_size_bytes", kind: "scalar", T: 3 /* ScalarType.INT64 */ }, + { no: 5, name: "connection", kind: "message", T: Connection }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): CreateRequestHeader { @@ -519,6 +539,15 @@ export class GetTaskRequest extends Message { */ taskCategory?: TaskCategory; + /** + * Connection (secret and config) required by the agent. + * Agent will use the secret and config in the taskTemplate if it's None. + * +optional + * + * @generated from field: flyteidl.core.Connection connection = 5; + */ + connection?: Connection; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -530,6 +559,7 @@ export class GetTaskRequest extends Message { { no: 1, name: "task_type", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 2, name: "resource_meta", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, { no: 3, name: "task_category", kind: "message", T: TaskCategory }, + { no: 5, name: "connection", kind: "message", T: Connection }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): GetTaskRequest { @@ -698,6 +728,15 @@ export class DeleteTaskRequest extends Message { */ taskCategory?: TaskCategory; + /** + * Connection (secret and config) required by the agent. + * Agent will use the secret and config in the taskTemplate if it's None. + * +optional + * + * @generated from field: flyteidl.core.Connection connection = 5; + */ + connection?: Connection; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -709,6 +748,7 @@ export class DeleteTaskRequest extends Message { { no: 1, name: "task_type", kind: "scalar", T: 9 /* ScalarType.STRING */ }, { no: 2, name: "resource_meta", kind: "scalar", T: 12 /* ScalarType.BYTES */ }, { no: 3, name: "task_category", kind: "message", T: TaskCategory }, + { no: 5, name: "connection", kind: "message", T: Connection }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): DeleteTaskRequest { diff --git a/flyteidl/gen/pb-es/flyteidl/admin/execution_pb.ts b/flyteidl/gen/pb-es/flyteidl/admin/execution_pb.ts index 5ba9f62ca6..080567aa2e 100644 --- a/flyteidl/gen/pb-es/flyteidl/admin/execution_pb.ts +++ b/flyteidl/gen/pb-es/flyteidl/admin/execution_pb.ts @@ -12,7 +12,7 @@ import { Annotations, AuthRole, Envs, Labels, Notification, RawOutputDataConfig, import { ArtifactID } from "../core/artifact_id_pb.js"; import { SecurityContext } from "../core/security_pb.js"; import { ClusterAssignment } from "./cluster_assignment_pb.js"; -import { ExecutionClusterLabel } from "./matchable_resource_pb.js"; +import { ExecutionClusterLabel, ExternalResourceAttributes } from "./matchable_resource_pb.js"; import { ExecutionEnvAssignment } from "../core/execution_envs_pb.js"; import { Span } from "../core/metrics_pb.js"; @@ -1132,6 +1132,13 @@ export class ExecutionSpec extends Message { */ executionEnvAssignments: ExecutionEnvAssignment[] = []; + /** + * The connection to use for the execution. + * + * @generated from field: flyteidl.admin.ExternalResourceAttributes external_resource_attributes = 27; + */ + externalResourceAttributes?: ExternalResourceAttributes; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -1159,6 +1166,7 @@ export class ExecutionSpec extends Message { { no: 24, name: "tags", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true }, { no: 25, name: "execution_cluster_label", kind: "message", T: ExecutionClusterLabel }, { no: 26, name: "execution_env_assignments", kind: "message", T: ExecutionEnvAssignment, repeated: true }, + { no: 27, name: "external_resource_attributes", kind: "message", T: ExternalResourceAttributes }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): ExecutionSpec { diff --git a/flyteidl/gen/pb-es/flyteidl/admin/matchable_resource_pb.ts b/flyteidl/gen/pb-es/flyteidl/admin/matchable_resource_pb.ts index d39ea6bf73..086c44f847 100644 --- a/flyteidl/gen/pb-es/flyteidl/admin/matchable_resource_pb.ts +++ b/flyteidl/gen/pb-es/flyteidl/admin/matchable_resource_pb.ts @@ -5,7 +5,7 @@ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; import { BoolValue, Message, proto3 } from "@bufbuild/protobuf"; -import { SecurityContext } from "../core/security_pb.js"; +import { Connection, SecurityContext } from "../core/security_pb.js"; import { Annotations, Envs, Labels, RawOutputDataConfig } from "./common_pb.js"; import { ExecutionEnvAssignment } from "../core/execution_envs_pb.js"; import { QualityOfService } from "../core/execution_pb.js"; @@ -73,6 +73,13 @@ export enum MatchableResource { * @generated from enum value: CLUSTER_ASSIGNMENT = 7; */ CLUSTER_ASSIGNMENT = 7, + + /** + * Configures the task connection to be used by the agent to connect to external systems. + * + * @generated from enum value: EXTERNAL_RESOURCE = 8; + */ + EXTERNAL_RESOURCE = 8, } // Retrieve enum metadata with: proto3.getEnumType(MatchableResource) proto3.util.setEnumType(MatchableResource, "flyteidl.admin.MatchableResource", [ @@ -84,6 +91,7 @@ proto3.util.setEnumType(MatchableResource, "flyteidl.admin.MatchableResource", [ { no: 5, name: "PLUGIN_OVERRIDE" }, { no: 6, name: "WORKFLOW_EXECUTION_CONFIG" }, { no: 7, name: "CLUSTER_ASSIGNMENT" }, + { no: 8, name: "EXTERNAL_RESOURCE" }, ]); /** @@ -543,6 +551,48 @@ export class WorkflowExecutionConfig extends Message { } } +/** + * ExternalResourceAttributes is a message that encapsulates all the attributes + * that are required to connect to external resources or services. + * + * @generated from message flyteidl.admin.ExternalResourceAttributes + */ +export class ExternalResourceAttributes extends Message { + /** + * Connections here is used by the agent to connect to external systems. + * + * @generated from field: map connections = 1; + */ + connections: { [key: string]: Connection } = {}; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "flyteidl.admin.ExternalResourceAttributes"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "connections", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "message", T: Connection} }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): ExternalResourceAttributes { + return new ExternalResourceAttributes().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): ExternalResourceAttributes { + return new ExternalResourceAttributes().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): ExternalResourceAttributes { + return new ExternalResourceAttributes().fromJsonString(jsonString, options); + } + + static equals(a: ExternalResourceAttributes | PlainMessage | undefined, b: ExternalResourceAttributes | PlainMessage | undefined): boolean { + return proto3.util.equals(ExternalResourceAttributes, a, b); + } +} + /** * Generic container for encapsulating all types of the above attributes messages. * @@ -600,6 +650,12 @@ export class MatchingAttributes extends Message { */ value: ClusterAssignment; case: "clusterAssignment"; + } | { + /** + * @generated from field: flyteidl.admin.ExternalResourceAttributes external_resource_attributes = 9; + */ + value: ExternalResourceAttributes; + case: "externalResourceAttributes"; } | { case: undefined; value?: undefined } = { case: undefined }; constructor(data?: PartialMessage) { @@ -618,6 +674,7 @@ export class MatchingAttributes extends Message { { no: 6, name: "plugin_overrides", kind: "message", T: PluginOverrides, oneof: "target" }, { no: 7, name: "workflow_execution_config", kind: "message", T: WorkflowExecutionConfig, oneof: "target" }, { no: 8, name: "cluster_assignment", kind: "message", T: ClusterAssignment, oneof: "target" }, + { no: 9, name: "external_resource_attributes", kind: "message", T: ExternalResourceAttributes, oneof: "target" }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): MatchingAttributes { diff --git a/flyteidl/gen/pb-es/flyteidl/core/security_pb.ts b/flyteidl/gen/pb-es/flyteidl/core/security_pb.ts index 7d1ca8bbac..558e15a037 100644 --- a/flyteidl/gen/pb-es/flyteidl/core/security_pb.ts +++ b/flyteidl/gen/pb-es/flyteidl/core/security_pb.ts @@ -118,6 +118,64 @@ proto3.util.setEnumType(Secret_MountType, "flyteidl.core.Secret.MountType", [ { no: 2, name: "FILE" }, ]); +/** + * @generated from message flyteidl.core.Connection + */ +export class Connection extends Message { + /** + * The task type that the connection is used for. + * + * @generated from field: string task_type = 1; + */ + taskType = ""; + + /** + * The credentials to use for the connection, such as API keys, OAuth2 tokens, etc. + * The key is the name of the secret, and it's defined in the flytekit. + * flytekit uses the key to locate the desired secret within the map. + * + * @generated from field: map secrets = 2; + */ + secrets: { [key: string]: string } = {}; + + /** + * The configuration to use for the connection, such as the endpoint, account name, etc. + * The key is the name of the config, and it's defined in the flytekit. + * + * @generated from field: map configs = 3; + */ + configs: { [key: string]: string } = {}; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "flyteidl.core.Connection"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "task_type", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "secrets", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} }, + { no: 3, name: "configs", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): Connection { + return new Connection().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): Connection { + return new Connection().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): Connection { + return new Connection().fromJsonString(jsonString, options); + } + + static equals(a: Connection | PlainMessage | undefined, b: Connection | PlainMessage | undefined): boolean { + return proto3.util.equals(Connection, a, b); + } +} + /** * OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task. * @@ -374,6 +432,19 @@ export class SecurityContext extends Message { */ tokens: OAuth2TokenRequest[] = []; + /** + * The name of the connection. + * The connection is defined in the externalResourceAttributes or flyteadmin configmap. + * The connection config take precedence in the following order: + * 1. connection in the externalResourceAttributes in the project-domain settings. + * 2. connection in the externalResourceAttributes in the project settings. + * 3. connection in the flyteadmin configmap. + * +optional + * + * @generated from field: string connection_ref = 4; + */ + connectionRef = ""; + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); @@ -385,6 +456,7 @@ export class SecurityContext extends Message { { no: 1, name: "run_as", kind: "message", T: Identity }, { no: 2, name: "secrets", kind: "message", T: Secret, repeated: true }, { no: 3, name: "tokens", kind: "message", T: OAuth2TokenRequest, repeated: true }, + { no: 4, name: "connection_ref", kind: "scalar", T: 9 /* ScalarType.STRING */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): SecurityContext { diff --git a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go index 653fce6266..8d5e371550 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/agent.pb.go @@ -241,6 +241,10 @@ type CreateTaskRequest struct { OutputPrefix string `protobuf:"bytes,3,opt,name=output_prefix,json=outputPrefix,proto3" json:"output_prefix,omitempty"` // subset of runtime task execution metadata. TaskExecutionMetadata *TaskExecutionMetadata `protobuf:"bytes,4,opt,name=task_execution_metadata,json=taskExecutionMetadata,proto3" json:"task_execution_metadata,omitempty"` + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + Connection *core.Connection `protobuf:"bytes,5,opt,name=connection,proto3" json:"connection,omitempty"` } func (x *CreateTaskRequest) Reset() { @@ -303,6 +307,13 @@ func (x *CreateTaskRequest) GetTaskExecutionMetadata() *TaskExecutionMetadata { return nil } +func (x *CreateTaskRequest) GetConnection() *core.Connection { + if x != nil { + return x.Connection + } + return nil +} + // Represents a create response structure. type CreateTaskResponse struct { state protoimpl.MessageState @@ -365,6 +376,10 @@ type CreateRequestHeader struct { TaskExecutionMetadata *TaskExecutionMetadata `protobuf:"bytes,3,opt,name=task_execution_metadata,json=taskExecutionMetadata,proto3" json:"task_execution_metadata,omitempty"` // MaxDatasetSizeBytes is the maximum size of the dataset that can be generated by the task. MaxDatasetSizeBytes int64 `protobuf:"varint,4,opt,name=max_dataset_size_bytes,json=maxDatasetSizeBytes,proto3" json:"max_dataset_size_bytes,omitempty"` + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + Connection *core.Connection `protobuf:"bytes,5,opt,name=connection,proto3" json:"connection,omitempty"` } func (x *CreateRequestHeader) Reset() { @@ -427,6 +442,13 @@ func (x *CreateRequestHeader) GetMaxDatasetSizeBytes() int64 { return 0 } +func (x *CreateRequestHeader) GetConnection() *core.Connection { + if x != nil { + return x.Connection + } + return nil +} + type ExecuteTaskSyncRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -653,6 +675,10 @@ type GetTaskRequest struct { ResourceMeta []byte `protobuf:"bytes,2,opt,name=resource_meta,json=resourceMeta,proto3" json:"resource_meta,omitempty"` // A predefined yet extensible Task type identifier. TaskCategory *TaskCategory `protobuf:"bytes,3,opt,name=task_category,json=taskCategory,proto3" json:"task_category,omitempty"` + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + Connection *core.Connection `protobuf:"bytes,5,opt,name=connection,proto3" json:"connection,omitempty"` } func (x *GetTaskRequest) Reset() { @@ -709,6 +735,13 @@ func (x *GetTaskRequest) GetTaskCategory() *TaskCategory { return nil } +func (x *GetTaskRequest) GetConnection() *core.Connection { + if x != nil { + return x.Connection + } + return nil +} + // Response to get an individual task resource. type GetTaskResponse struct { state protoimpl.MessageState @@ -869,6 +902,10 @@ type DeleteTaskRequest struct { ResourceMeta []byte `protobuf:"bytes,2,opt,name=resource_meta,json=resourceMeta,proto3" json:"resource_meta,omitempty"` // A predefined yet extensible Task type identifier. TaskCategory *TaskCategory `protobuf:"bytes,3,opt,name=task_category,json=taskCategory,proto3" json:"task_category,omitempty"` + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + Connection *core.Connection `protobuf:"bytes,5,opt,name=connection,proto3" json:"connection,omitempty"` } func (x *DeleteTaskRequest) Reset() { @@ -925,6 +962,13 @@ func (x *DeleteTaskRequest) GetTaskCategory() *TaskCategory { return nil } +func (x *DeleteTaskRequest) GetConnection() *core.Connection { + if x != nil { + return x.Connection + } + return nil +} + // Response to delete a task. type DeleteTaskResponse struct { state protoimpl.MessageState @@ -1794,7 +1838,7 @@ var file_flyteidl_admin_agent_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x83, 0x02, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbe, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, @@ -1811,201 +1855,216 @@ var file_flyteidl_admin_agent_proto_rawDesc = []byte{ 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x15, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x39, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x87, - 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, - 0x23, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x12, 0x5d, 0x0a, 0x17, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x15, 0x74, 0x61, - 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x53, - 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x39, + 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x22, 0xc2, 0x02, 0x0a, 0x13, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x37, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, + 0x5d, 0x0a, 0x17, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x15, 0x74, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, + 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, + 0x6d, 0x61, 0x78, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, + 0x01, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, + 0x6e, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, + 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x42, 0x06, 0x0a, + 0x04, 0x70, 0x61, 0x72, 0x74, 0x22, 0x55, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa0, 0x01, 0x0a, + 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x35, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, - 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x70, 0x61, 0x72, 0x74, 0x22, - 0x55, 0x0a, 0x1d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, - 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, - 0x79, 0x6e, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, - 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, - 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x47, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb3, - 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x07, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x6c, - 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x54, - 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x6b, 0x73, - 0x12, 0x38, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x68, - 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x05, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x17, 0x0a, - 0x07, 0x69, 0x73, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x69, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x58, 0x0a, 0x19, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x22, 0x3c, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x25, - 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, - 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x43, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, - 0x22, 0xdb, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, - 0x73, 0x74, 0x65, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x41, 0x0a, 0x0d, 0x74, - 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x58, - 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, - 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x72, 0x65, 0x73, 0x22, + 0xd4, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x74, + 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0xb3, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, + 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, + 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x09, + 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x69, 0x6e, 0x6b, + 0x73, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, + 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x74, + 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x22, 0x31, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x33, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, - 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xa1, 0x01, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, - 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x04, 0x62, 0x6f, 0x64, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, - 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, - 0x48, 0x00, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x70, 0x61, 0x72, 0x74, - 0x2a, 0x62, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, - 0x52, 0x59, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x00, - 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, - 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, - 0x1a, 0x02, 0x18, 0x01, 0x42, 0xb6, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0x0a, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x70, 0x62, 0x2d, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x46, 0x41, 0x58, 0xaa, 0x02, 0x0e, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xca, 0x02, 0x0e, - 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xe2, 0x02, - 0x1a, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x54, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, + 0x73, 0x79, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x79, + 0x6e, 0x63, 0x12, 0x58, 0x0a, 0x19, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x52, 0x17, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x54, 0x61, + 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x3c, 0x0a, 0x0c, + 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x25, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x43, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, + 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xdb, 0x02, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x74, + 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, + 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x71, + 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, + 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, + 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x58, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x74, + 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, + 0x18, 0x01, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x41, 0x0a, + 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x22, 0x31, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0x33, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, + 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x43, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x6f, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x70, 0x61, 0x72, 0x74, 0x2a, 0x62, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x54, 0x52, 0x59, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, + 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0d, 0x0a, + 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x04, 0x1a, 0x02, 0x18, 0x01, + 0x42, 0xb6, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0x0a, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x62, + 0x2d, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x46, 0x41, 0x58, 0xaa, 0x02, 0x0e, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xca, 0x02, 0x0e, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xe2, 0x02, 0x1a, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -2056,12 +2115,13 @@ var file_flyteidl_admin_agent_proto_goTypes = []interface{}{ (*core.Identity)(nil), // 30: flyteidl.core.Identity (*core.LiteralMap)(nil), // 31: flyteidl.core.LiteralMap (*core.TaskTemplate)(nil), // 32: flyteidl.core.TaskTemplate - (*core.TaskLog)(nil), // 33: flyteidl.core.TaskLog - (core.TaskExecution_Phase)(0), // 34: flyteidl.core.TaskExecution.Phase - (*structpb.Struct)(nil), // 35: google.protobuf.Struct - (*timestamppb.Timestamp)(nil), // 36: google.protobuf.Timestamp - (*durationpb.Duration)(nil), // 37: google.protobuf.Duration - (*core.ExecutionMetricResult)(nil), // 38: flyteidl.core.ExecutionMetricResult + (*core.Connection)(nil), // 33: flyteidl.core.Connection + (*core.TaskLog)(nil), // 34: flyteidl.core.TaskLog + (core.TaskExecution_Phase)(0), // 35: flyteidl.core.TaskExecution.Phase + (*structpb.Struct)(nil), // 36: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp + (*durationpb.Duration)(nil), // 38: google.protobuf.Duration + (*core.ExecutionMetricResult)(nil), // 39: flyteidl.core.ExecutionMetricResult } var file_flyteidl_admin_agent_proto_depIdxs = []int32{ 28, // 0: flyteidl.admin.TaskExecutionMetadata.task_execution_id:type_name -> flyteidl.core.TaskExecutionIdentifier @@ -2073,37 +2133,41 @@ var file_flyteidl_admin_agent_proto_depIdxs = []int32{ 31, // 6: flyteidl.admin.CreateTaskRequest.inputs:type_name -> flyteidl.core.LiteralMap 32, // 7: flyteidl.admin.CreateTaskRequest.template:type_name -> flyteidl.core.TaskTemplate 1, // 8: flyteidl.admin.CreateTaskRequest.task_execution_metadata:type_name -> flyteidl.admin.TaskExecutionMetadata - 32, // 9: flyteidl.admin.CreateRequestHeader.template:type_name -> flyteidl.core.TaskTemplate - 1, // 10: flyteidl.admin.CreateRequestHeader.task_execution_metadata:type_name -> flyteidl.admin.TaskExecutionMetadata - 4, // 11: flyteidl.admin.ExecuteTaskSyncRequest.header:type_name -> flyteidl.admin.CreateRequestHeader - 31, // 12: flyteidl.admin.ExecuteTaskSyncRequest.inputs:type_name -> flyteidl.core.LiteralMap - 10, // 13: flyteidl.admin.ExecuteTaskSyncResponseHeader.resource:type_name -> flyteidl.admin.Resource - 6, // 14: flyteidl.admin.ExecuteTaskSyncResponse.header:type_name -> flyteidl.admin.ExecuteTaskSyncResponseHeader - 31, // 15: flyteidl.admin.ExecuteTaskSyncResponse.outputs:type_name -> flyteidl.core.LiteralMap - 14, // 16: flyteidl.admin.GetTaskRequest.task_category:type_name -> flyteidl.admin.TaskCategory - 10, // 17: flyteidl.admin.GetTaskResponse.resource:type_name -> flyteidl.admin.Resource - 0, // 18: flyteidl.admin.Resource.state:type_name -> flyteidl.admin.State - 31, // 19: flyteidl.admin.Resource.outputs:type_name -> flyteidl.core.LiteralMap - 33, // 20: flyteidl.admin.Resource.log_links:type_name -> flyteidl.core.TaskLog - 34, // 21: flyteidl.admin.Resource.phase:type_name -> flyteidl.core.TaskExecution.Phase - 35, // 22: flyteidl.admin.Resource.custom_info:type_name -> google.protobuf.Struct - 14, // 23: flyteidl.admin.DeleteTaskRequest.task_category:type_name -> flyteidl.admin.TaskCategory - 14, // 24: flyteidl.admin.Agent.supported_task_categories:type_name -> flyteidl.admin.TaskCategory - 13, // 25: flyteidl.admin.GetAgentResponse.agent:type_name -> flyteidl.admin.Agent - 13, // 26: flyteidl.admin.ListAgentsResponse.agents:type_name -> flyteidl.admin.Agent - 36, // 27: flyteidl.admin.GetTaskMetricsRequest.start_time:type_name -> google.protobuf.Timestamp - 36, // 28: flyteidl.admin.GetTaskMetricsRequest.end_time:type_name -> google.protobuf.Timestamp - 37, // 29: flyteidl.admin.GetTaskMetricsRequest.step:type_name -> google.protobuf.Duration - 14, // 30: flyteidl.admin.GetTaskMetricsRequest.task_category:type_name -> flyteidl.admin.TaskCategory - 38, // 31: flyteidl.admin.GetTaskMetricsResponse.results:type_name -> flyteidl.core.ExecutionMetricResult - 14, // 32: flyteidl.admin.GetTaskLogsRequest.task_category:type_name -> flyteidl.admin.TaskCategory - 22, // 33: flyteidl.admin.GetTaskLogsResponse.header:type_name -> flyteidl.admin.GetTaskLogsResponseHeader - 23, // 34: flyteidl.admin.GetTaskLogsResponse.body:type_name -> flyteidl.admin.GetTaskLogsResponseBody - 35, // [35:35] is the sub-list for method output_type - 35, // [35:35] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 33, // 9: flyteidl.admin.CreateTaskRequest.connection:type_name -> flyteidl.core.Connection + 32, // 10: flyteidl.admin.CreateRequestHeader.template:type_name -> flyteidl.core.TaskTemplate + 1, // 11: flyteidl.admin.CreateRequestHeader.task_execution_metadata:type_name -> flyteidl.admin.TaskExecutionMetadata + 33, // 12: flyteidl.admin.CreateRequestHeader.connection:type_name -> flyteidl.core.Connection + 4, // 13: flyteidl.admin.ExecuteTaskSyncRequest.header:type_name -> flyteidl.admin.CreateRequestHeader + 31, // 14: flyteidl.admin.ExecuteTaskSyncRequest.inputs:type_name -> flyteidl.core.LiteralMap + 10, // 15: flyteidl.admin.ExecuteTaskSyncResponseHeader.resource:type_name -> flyteidl.admin.Resource + 6, // 16: flyteidl.admin.ExecuteTaskSyncResponse.header:type_name -> flyteidl.admin.ExecuteTaskSyncResponseHeader + 31, // 17: flyteidl.admin.ExecuteTaskSyncResponse.outputs:type_name -> flyteidl.core.LiteralMap + 14, // 18: flyteidl.admin.GetTaskRequest.task_category:type_name -> flyteidl.admin.TaskCategory + 33, // 19: flyteidl.admin.GetTaskRequest.connection:type_name -> flyteidl.core.Connection + 10, // 20: flyteidl.admin.GetTaskResponse.resource:type_name -> flyteidl.admin.Resource + 0, // 21: flyteidl.admin.Resource.state:type_name -> flyteidl.admin.State + 31, // 22: flyteidl.admin.Resource.outputs:type_name -> flyteidl.core.LiteralMap + 34, // 23: flyteidl.admin.Resource.log_links:type_name -> flyteidl.core.TaskLog + 35, // 24: flyteidl.admin.Resource.phase:type_name -> flyteidl.core.TaskExecution.Phase + 36, // 25: flyteidl.admin.Resource.custom_info:type_name -> google.protobuf.Struct + 14, // 26: flyteidl.admin.DeleteTaskRequest.task_category:type_name -> flyteidl.admin.TaskCategory + 33, // 27: flyteidl.admin.DeleteTaskRequest.connection:type_name -> flyteidl.core.Connection + 14, // 28: flyteidl.admin.Agent.supported_task_categories:type_name -> flyteidl.admin.TaskCategory + 13, // 29: flyteidl.admin.GetAgentResponse.agent:type_name -> flyteidl.admin.Agent + 13, // 30: flyteidl.admin.ListAgentsResponse.agents:type_name -> flyteidl.admin.Agent + 37, // 31: flyteidl.admin.GetTaskMetricsRequest.start_time:type_name -> google.protobuf.Timestamp + 37, // 32: flyteidl.admin.GetTaskMetricsRequest.end_time:type_name -> google.protobuf.Timestamp + 38, // 33: flyteidl.admin.GetTaskMetricsRequest.step:type_name -> google.protobuf.Duration + 14, // 34: flyteidl.admin.GetTaskMetricsRequest.task_category:type_name -> flyteidl.admin.TaskCategory + 39, // 35: flyteidl.admin.GetTaskMetricsResponse.results:type_name -> flyteidl.core.ExecutionMetricResult + 14, // 36: flyteidl.admin.GetTaskLogsRequest.task_category:type_name -> flyteidl.admin.TaskCategory + 22, // 37: flyteidl.admin.GetTaskLogsResponse.header:type_name -> flyteidl.admin.GetTaskLogsResponseHeader + 23, // 38: flyteidl.admin.GetTaskLogsResponse.body:type_name -> flyteidl.admin.GetTaskLogsResponseBody + 39, // [39:39] is the sub-list for method output_type + 39, // [39:39] is the sub-list for method input_type + 39, // [39:39] is the sub-list for extension type_name + 39, // [39:39] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name } func init() { file_flyteidl_admin_agent_proto_init() } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go index 1b878ceeb6..4f03cb5702 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/execution.pb.go @@ -1273,6 +1273,8 @@ type ExecutionSpec struct { ExecutionClusterLabel *ExecutionClusterLabel `protobuf:"bytes,25,opt,name=execution_cluster_label,json=executionClusterLabel,proto3" json:"execution_cluster_label,omitempty"` // Execution environment assignments to be set for the execution. ExecutionEnvAssignments []*core.ExecutionEnvAssignment `protobuf:"bytes,26,rep,name=execution_env_assignments,json=executionEnvAssignments,proto3" json:"execution_env_assignments,omitempty"` + // The connection to use for the execution. + ExternalResourceAttributes *ExternalResourceAttributes `protobuf:"bytes,27,opt,name=external_resource_attributes,json=externalResourceAttributes,proto3" json:"external_resource_attributes,omitempty"` } func (x *ExecutionSpec) Reset() { @@ -1450,6 +1452,13 @@ func (x *ExecutionSpec) GetExecutionEnvAssignments() []*core.ExecutionEnvAssignm return nil } +func (x *ExecutionSpec) GetExternalResourceAttributes() *ExternalResourceAttributes { + if x != nil { + return x.ExternalResourceAttributes + } + return nil +} + type isExecutionSpec_NotificationOverrides interface { isExecutionSpec_NotificationOverrides() } @@ -2188,8 +2197,8 @@ var file_flyteidl_admin_execution_proto_rawDesc = []byte{ 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xd6, - 0x09, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, + 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc4, + 0x0a, 0x0a, 0x0d, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, @@ -2264,91 +2273,98 @@ var file_flyteidl_admin_execution_proto_rawDesc = []byte{ 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x41, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x6d, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x1f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6c, 0x0a, 0x1c, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x4a, + 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0x6d, 0x0a, 0x19, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, + 0x61, 0x75, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x1f, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x88, 0x02, 0x0a, 0x20, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x55, 0x72, 0x6c, 0x42, 0x6c, 0x6f, 0x62, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x33, 0x0a, + 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x55, + 0x72, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, + 0x61, 0x70, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x3c, + 0x0a, 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, + 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x52, + 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x8a, 0x01, 0x0a, + 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x20, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x55, 0x72, 0x6c, 0x42, 0x6c, - 0x6f, 0x62, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, - 0x33, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x55, 0x72, 0x6c, 0x42, 0x6c, 0x6f, 0x62, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x69, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, - 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x12, 0x3c, 0x0a, 0x0c, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x4d, 0x61, - 0x70, 0x52, 0x0b, 0x66, 0x75, 0x6c, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x8a, - 0x01, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x1b, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x22, 0x19, 0x0a, 0x17, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x22, 0x57, 0x6f, 0x72, 0x6b, 0x66, - 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, - 0x4e, 0x0a, 0x23, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x2a, - 0x3e, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x58, 0x45, 0x43, 0x55, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x01, 0x42, - 0xba, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, - 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x70, 0x62, 0x2d, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x46, 0x41, 0x58, 0xaa, 0x02, 0x0e, 0x46, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xca, 0x02, 0x0e, 0x46, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xe2, 0x02, 0x1a, - 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x46, 0x6c, 0x79, - 0x74, 0x65, 0x69, 0x64, 0x6c, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xae, 0x01, 0x0a, 0x1b, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x22, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, + 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x4e, 0x0a, + 0x23, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, + 0x72, 0x65, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x2a, 0x3e, 0x0a, + 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x14, 0x0a, 0x10, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x44, 0x10, 0x01, 0x42, 0xba, 0x01, + 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, + 0x64, 0x6d, 0x69, 0x6e, 0x42, 0x0e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, + 0x65, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, + 0x62, 0x2d, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x61, 0x64, + 0x6d, 0x69, 0x6e, 0xa2, 0x02, 0x03, 0x46, 0x41, 0x58, 0xaa, 0x02, 0x0e, 0x46, 0x6c, 0x79, 0x74, + 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xca, 0x02, 0x0e, 0x46, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0xe2, 0x02, 0x1a, 0x46, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x46, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x3a, 0x3a, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -2412,8 +2428,9 @@ var file_flyteidl_admin_execution_proto_goTypes = []interface{}{ (*Envs)(nil), // 43: flyteidl.admin.Envs (*ExecutionClusterLabel)(nil), // 44: flyteidl.admin.ExecutionClusterLabel (*core.ExecutionEnvAssignment)(nil), // 45: flyteidl.core.ExecutionEnvAssignment - (*UrlBlob)(nil), // 46: flyteidl.admin.UrlBlob - (*core.Span)(nil), // 47: flyteidl.core.Span + (*ExternalResourceAttributes)(nil), // 46: flyteidl.admin.ExternalResourceAttributes + (*UrlBlob)(nil), // 47: flyteidl.admin.UrlBlob + (*core.Span)(nil), // 48: flyteidl.core.Span } var file_flyteidl_admin_execution_proto_depIdxs = []int32{ 15, // 0: flyteidl.admin.ExecutionCreateRequest.spec:type_name -> flyteidl.admin.ExecutionSpec @@ -2463,23 +2480,24 @@ var file_flyteidl_admin_execution_proto_depIdxs = []int32{ 43, // 44: flyteidl.admin.ExecutionSpec.envs:type_name -> flyteidl.admin.Envs 44, // 45: flyteidl.admin.ExecutionSpec.execution_cluster_label:type_name -> flyteidl.admin.ExecutionClusterLabel 45, // 46: flyteidl.admin.ExecutionSpec.execution_env_assignments:type_name -> flyteidl.core.ExecutionEnvAssignment - 26, // 47: flyteidl.admin.ExecutionTerminateRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier - 26, // 48: flyteidl.admin.WorkflowExecutionGetDataRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier - 46, // 49: flyteidl.admin.WorkflowExecutionGetDataResponse.outputs:type_name -> flyteidl.admin.UrlBlob - 46, // 50: flyteidl.admin.WorkflowExecutionGetDataResponse.inputs:type_name -> flyteidl.admin.UrlBlob - 25, // 51: flyteidl.admin.WorkflowExecutionGetDataResponse.full_inputs:type_name -> flyteidl.core.LiteralMap - 25, // 52: flyteidl.admin.WorkflowExecutionGetDataResponse.full_outputs:type_name -> flyteidl.core.LiteralMap - 26, // 53: flyteidl.admin.ExecutionUpdateRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier - 0, // 54: flyteidl.admin.ExecutionUpdateRequest.state:type_name -> flyteidl.admin.ExecutionState - 0, // 55: flyteidl.admin.ExecutionStateChangeDetails.state:type_name -> flyteidl.admin.ExecutionState - 29, // 56: flyteidl.admin.ExecutionStateChangeDetails.occurred_at:type_name -> google.protobuf.Timestamp - 26, // 57: flyteidl.admin.WorkflowExecutionGetMetricsRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier - 47, // 58: flyteidl.admin.WorkflowExecutionGetMetricsResponse.span:type_name -> flyteidl.core.Span - 59, // [59:59] is the sub-list for method output_type - 59, // [59:59] is the sub-list for method input_type - 59, // [59:59] is the sub-list for extension type_name - 59, // [59:59] is the sub-list for extension extendee - 0, // [0:59] is the sub-list for field type_name + 46, // 47: flyteidl.admin.ExecutionSpec.external_resource_attributes:type_name -> flyteidl.admin.ExternalResourceAttributes + 26, // 48: flyteidl.admin.ExecutionTerminateRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier + 26, // 49: flyteidl.admin.WorkflowExecutionGetDataRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier + 47, // 50: flyteidl.admin.WorkflowExecutionGetDataResponse.outputs:type_name -> flyteidl.admin.UrlBlob + 47, // 51: flyteidl.admin.WorkflowExecutionGetDataResponse.inputs:type_name -> flyteidl.admin.UrlBlob + 25, // 52: flyteidl.admin.WorkflowExecutionGetDataResponse.full_inputs:type_name -> flyteidl.core.LiteralMap + 25, // 53: flyteidl.admin.WorkflowExecutionGetDataResponse.full_outputs:type_name -> flyteidl.core.LiteralMap + 26, // 54: flyteidl.admin.ExecutionUpdateRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier + 0, // 55: flyteidl.admin.ExecutionUpdateRequest.state:type_name -> flyteidl.admin.ExecutionState + 0, // 56: flyteidl.admin.ExecutionStateChangeDetails.state:type_name -> flyteidl.admin.ExecutionState + 29, // 57: flyteidl.admin.ExecutionStateChangeDetails.occurred_at:type_name -> google.protobuf.Timestamp + 26, // 58: flyteidl.admin.WorkflowExecutionGetMetricsRequest.id:type_name -> flyteidl.core.WorkflowExecutionIdentifier + 48, // 59: flyteidl.admin.WorkflowExecutionGetMetricsResponse.span:type_name -> flyteidl.core.Span + 60, // [60:60] is the sub-list for method output_type + 60, // [60:60] is the sub-list for method input_type + 60, // [60:60] is the sub-list for extension type_name + 60, // [60:60] is the sub-list for extension extendee + 0, // [0:60] is the sub-list for field type_name } func init() { file_flyteidl_admin_execution_proto_init() } diff --git a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go index 9e51abfb31..c9e546d497 100644 --- a/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go @@ -43,6 +43,8 @@ const ( MatchableResource_WORKFLOW_EXECUTION_CONFIG MatchableResource = 6 // Controls how to select an available cluster on which this execution should run. MatchableResource_CLUSTER_ASSIGNMENT MatchableResource = 7 + // Configures the task connection to be used by the agent to connect to external systems. + MatchableResource_EXTERNAL_RESOURCE MatchableResource = 8 ) // Enum value maps for MatchableResource. @@ -56,6 +58,7 @@ var ( 5: "PLUGIN_OVERRIDE", 6: "WORKFLOW_EXECUTION_CONFIG", 7: "CLUSTER_ASSIGNMENT", + 8: "EXTERNAL_RESOURCE", } MatchableResource_value = map[string]int32{ "TASK_RESOURCE": 0, @@ -66,6 +69,7 @@ var ( "PLUGIN_OVERRIDE": 5, "WORKFLOW_EXECUTION_CONFIG": 6, "CLUSTER_ASSIGNMENT": 7, + "EXTERNAL_RESOURCE": 8, } ) @@ -668,6 +672,56 @@ func (x *WorkflowExecutionConfig) GetExecutionEnvAssignments() []*core.Execution return nil } +// ExternalResourceAttributes is a message that encapsulates all the attributes +// that are required to connect to external resources or services. +type ExternalResourceAttributes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Connections here is used by the agent to connect to external systems. + Connections map[string]*core.Connection `protobuf:"bytes,1,rep,name=connections,proto3" json:"connections,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ExternalResourceAttributes) Reset() { + *x = ExternalResourceAttributes{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExternalResourceAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalResourceAttributes) ProtoMessage() {} + +func (x *ExternalResourceAttributes) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalResourceAttributes.ProtoReflect.Descriptor instead. +func (*ExternalResourceAttributes) Descriptor() ([]byte, []int) { + return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{8} +} + +func (x *ExternalResourceAttributes) GetConnections() map[string]*core.Connection { + if x != nil { + return x.Connections + } + return nil +} + // Generic container for encapsulating all types of the above attributes messages. type MatchingAttributes struct { state protoimpl.MessageState @@ -684,13 +738,14 @@ type MatchingAttributes struct { // *MatchingAttributes_PluginOverrides // *MatchingAttributes_WorkflowExecutionConfig // *MatchingAttributes_ClusterAssignment + // *MatchingAttributes_ExternalResourceAttributes Target isMatchingAttributes_Target `protobuf_oneof:"target"` } func (x *MatchingAttributes) Reset() { *x = MatchingAttributes{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[8] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -703,7 +758,7 @@ func (x *MatchingAttributes) String() string { func (*MatchingAttributes) ProtoMessage() {} func (x *MatchingAttributes) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[8] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -716,7 +771,7 @@ func (x *MatchingAttributes) ProtoReflect() protoreflect.Message { // Deprecated: Use MatchingAttributes.ProtoReflect.Descriptor instead. func (*MatchingAttributes) Descriptor() ([]byte, []int) { - return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{8} + return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{9} } func (m *MatchingAttributes) GetTarget() isMatchingAttributes_Target { @@ -782,6 +837,13 @@ func (x *MatchingAttributes) GetClusterAssignment() *ClusterAssignment { return nil } +func (x *MatchingAttributes) GetExternalResourceAttributes() *ExternalResourceAttributes { + if x, ok := x.GetTarget().(*MatchingAttributes_ExternalResourceAttributes); ok { + return x.ExternalResourceAttributes + } + return nil +} + type isMatchingAttributes_Target interface { isMatchingAttributes_Target() } @@ -818,6 +880,10 @@ type MatchingAttributes_ClusterAssignment struct { ClusterAssignment *ClusterAssignment `protobuf:"bytes,8,opt,name=cluster_assignment,json=clusterAssignment,proto3,oneof"` } +type MatchingAttributes_ExternalResourceAttributes struct { + ExternalResourceAttributes *ExternalResourceAttributes `protobuf:"bytes,9,opt,name=external_resource_attributes,json=externalResourceAttributes,proto3,oneof"` +} + func (*MatchingAttributes_TaskResourceAttributes) isMatchingAttributes_Target() {} func (*MatchingAttributes_ClusterResourceAttributes) isMatchingAttributes_Target() {} @@ -834,6 +900,8 @@ func (*MatchingAttributes_WorkflowExecutionConfig) isMatchingAttributes_Target() func (*MatchingAttributes_ClusterAssignment) isMatchingAttributes_Target() {} +func (*MatchingAttributes_ExternalResourceAttributes) isMatchingAttributes_Target() {} + // Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); // or domain, project and workflow name (and optional org). // These are used to override system level defaults for kubernetes cluster resource management, @@ -855,7 +923,7 @@ type MatchableAttributesConfiguration struct { func (x *MatchableAttributesConfiguration) Reset() { *x = MatchableAttributesConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[9] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -868,7 +936,7 @@ func (x *MatchableAttributesConfiguration) String() string { func (*MatchableAttributesConfiguration) ProtoMessage() {} func (x *MatchableAttributesConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[9] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -881,7 +949,7 @@ func (x *MatchableAttributesConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use MatchableAttributesConfiguration.ProtoReflect.Descriptor instead. func (*MatchableAttributesConfiguration) Descriptor() ([]byte, []int) { - return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{9} + return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{10} } func (x *MatchableAttributesConfiguration) GetAttributes() *MatchingAttributes { @@ -942,7 +1010,7 @@ type ListMatchableAttributesRequest struct { func (x *ListMatchableAttributesRequest) Reset() { *x = ListMatchableAttributesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[10] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -955,7 +1023,7 @@ func (x *ListMatchableAttributesRequest) String() string { func (*ListMatchableAttributesRequest) ProtoMessage() {} func (x *ListMatchableAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[10] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -968,7 +1036,7 @@ func (x *ListMatchableAttributesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMatchableAttributesRequest.ProtoReflect.Descriptor instead. func (*ListMatchableAttributesRequest) Descriptor() ([]byte, []int) { - return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{10} + return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{11} } func (x *ListMatchableAttributesRequest) GetResourceType() MatchableResource { @@ -998,7 +1066,7 @@ type ListMatchableAttributesResponse struct { func (x *ListMatchableAttributesResponse) Reset() { *x = ListMatchableAttributesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[11] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1011,7 +1079,7 @@ func (x *ListMatchableAttributesResponse) String() string { func (*ListMatchableAttributesResponse) ProtoMessage() {} func (x *ListMatchableAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[11] + mi := &file_flyteidl_admin_matchable_resource_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1024,7 +1092,7 @@ func (x *ListMatchableAttributesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMatchableAttributesResponse.ProtoReflect.Descriptor instead. func (*ListMatchableAttributesResponse) Descriptor() ([]byte, []int) { - return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{11} + return file_flyteidl_admin_matchable_resource_proto_rawDescGZIP(), []int{12} } func (x *ListMatchableAttributesResponse) GetConfigurations() []*MatchableAttributesConfiguration { @@ -1146,100 +1214,122 @@ var file_flyteidl_admin_matchable_resource_proto_rawDesc = []byte{ 0x6f, 0x72, 0x65, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x22, 0x94, 0x06, 0x0a, 0x12, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x18, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x16, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x6b, - 0x0a, 0x1b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, - 0x52, 0x19, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x1a, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, - 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x18, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, - 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x4f, 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, - 0x72, 0x65, 0x2e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x66, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x19, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, - 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x00, 0x52, 0x17, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x12, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x20, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x42, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, - 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x70, 0x6c, 0x61, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x6c, - 0x61, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6f, 0x72, 0x67, 0x22, 0x7a, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, - 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, - 0x22, 0x7b, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0xe0, 0x01, - 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x52, 0x45, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, - 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, - 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, - 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, - 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x24, - 0x0a, 0x20, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x45, 0x52, - 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, 0x5f, 0x4f, - 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x4f, 0x52, - 0x4b, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4c, 0x55, 0x53, - 0x54, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x07, + 0x6e, 0x74, 0x73, 0x22, 0xd6, 0x01, 0x0a, 0x1a, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x59, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, 0x07, 0x0a, + 0x12, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x18, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, + 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, + 0x16, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x1b, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x19, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x1a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x48, 0x00, 0x52, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x65, 0x75, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x5f, + 0x0a, 0x17, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x4f, 0x0a, 0x12, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x51, 0x75, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, + 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x4c, 0x0a, 0x10, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x65, + 0x0a, 0x19, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x17, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a, 0x12, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, + 0x69, 0x6e, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, + 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 0x1c, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x48, 0x00, 0x52, 0x1a, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x20, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, + 0x75, 0x6e, 0x63, 0x68, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, + 0x72, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x22, 0x7a, 0x0a, + 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, + 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x22, 0x7b, 0x0a, 0x1f, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0e, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0xf7, 0x01, 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x11, 0x0a, 0x0d, + 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x00, 0x12, + 0x14, 0x0a, 0x10, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, + 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x58, + 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, + 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x51, 0x55, 0x41, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x13, 0x0a, + 0x0f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, + 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x4f, 0x52, 0x4b, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x45, + 0x58, 0x45, 0x43, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, + 0x06, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x53, + 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x58, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x08, 0x42, 0xc2, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x42, 0x16, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, @@ -1268,7 +1358,7 @@ func file_flyteidl_admin_matchable_resource_proto_rawDescGZIP() []byte { } var file_flyteidl_admin_matchable_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_flyteidl_admin_matchable_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_flyteidl_admin_matchable_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_flyteidl_admin_matchable_resource_proto_goTypes = []interface{}{ (MatchableResource)(0), // 0: flyteidl.admin.MatchableResource (PluginOverride_MissingPluginBehavior)(0), // 1: flyteidl.admin.PluginOverride.MissingPluginBehavior @@ -1280,50 +1370,56 @@ var file_flyteidl_admin_matchable_resource_proto_goTypes = []interface{}{ (*PluginOverride)(nil), // 7: flyteidl.admin.PluginOverride (*PluginOverrides)(nil), // 8: flyteidl.admin.PluginOverrides (*WorkflowExecutionConfig)(nil), // 9: flyteidl.admin.WorkflowExecutionConfig - (*MatchingAttributes)(nil), // 10: flyteidl.admin.MatchingAttributes - (*MatchableAttributesConfiguration)(nil), // 11: flyteidl.admin.MatchableAttributesConfiguration - (*ListMatchableAttributesRequest)(nil), // 12: flyteidl.admin.ListMatchableAttributesRequest - (*ListMatchableAttributesResponse)(nil), // 13: flyteidl.admin.ListMatchableAttributesResponse - nil, // 14: flyteidl.admin.ClusterResourceAttributes.AttributesEntry - (*core.SecurityContext)(nil), // 15: flyteidl.core.SecurityContext - (*RawOutputDataConfig)(nil), // 16: flyteidl.admin.RawOutputDataConfig - (*Labels)(nil), // 17: flyteidl.admin.Labels - (*Annotations)(nil), // 18: flyteidl.admin.Annotations - (*wrapperspb.BoolValue)(nil), // 19: google.protobuf.BoolValue - (*Envs)(nil), // 20: flyteidl.admin.Envs - (*core.ExecutionEnvAssignment)(nil), // 21: flyteidl.core.ExecutionEnvAssignment - (*core.QualityOfService)(nil), // 22: flyteidl.core.QualityOfService - (*ClusterAssignment)(nil), // 23: flyteidl.admin.ClusterAssignment + (*ExternalResourceAttributes)(nil), // 10: flyteidl.admin.ExternalResourceAttributes + (*MatchingAttributes)(nil), // 11: flyteidl.admin.MatchingAttributes + (*MatchableAttributesConfiguration)(nil), // 12: flyteidl.admin.MatchableAttributesConfiguration + (*ListMatchableAttributesRequest)(nil), // 13: flyteidl.admin.ListMatchableAttributesRequest + (*ListMatchableAttributesResponse)(nil), // 14: flyteidl.admin.ListMatchableAttributesResponse + nil, // 15: flyteidl.admin.ClusterResourceAttributes.AttributesEntry + nil, // 16: flyteidl.admin.ExternalResourceAttributes.ConnectionsEntry + (*core.SecurityContext)(nil), // 17: flyteidl.core.SecurityContext + (*RawOutputDataConfig)(nil), // 18: flyteidl.admin.RawOutputDataConfig + (*Labels)(nil), // 19: flyteidl.admin.Labels + (*Annotations)(nil), // 20: flyteidl.admin.Annotations + (*wrapperspb.BoolValue)(nil), // 21: google.protobuf.BoolValue + (*Envs)(nil), // 22: flyteidl.admin.Envs + (*core.ExecutionEnvAssignment)(nil), // 23: flyteidl.core.ExecutionEnvAssignment + (*core.QualityOfService)(nil), // 24: flyteidl.core.QualityOfService + (*ClusterAssignment)(nil), // 25: flyteidl.admin.ClusterAssignment + (*core.Connection)(nil), // 26: flyteidl.core.Connection } var file_flyteidl_admin_matchable_resource_proto_depIdxs = []int32{ 2, // 0: flyteidl.admin.TaskResourceAttributes.defaults:type_name -> flyteidl.admin.TaskResourceSpec 2, // 1: flyteidl.admin.TaskResourceAttributes.limits:type_name -> flyteidl.admin.TaskResourceSpec - 14, // 2: flyteidl.admin.ClusterResourceAttributes.attributes:type_name -> flyteidl.admin.ClusterResourceAttributes.AttributesEntry + 15, // 2: flyteidl.admin.ClusterResourceAttributes.attributes:type_name -> flyteidl.admin.ClusterResourceAttributes.AttributesEntry 1, // 3: flyteidl.admin.PluginOverride.missing_plugin_behavior:type_name -> flyteidl.admin.PluginOverride.MissingPluginBehavior 7, // 4: flyteidl.admin.PluginOverrides.overrides:type_name -> flyteidl.admin.PluginOverride - 15, // 5: flyteidl.admin.WorkflowExecutionConfig.security_context:type_name -> flyteidl.core.SecurityContext - 16, // 6: flyteidl.admin.WorkflowExecutionConfig.raw_output_data_config:type_name -> flyteidl.admin.RawOutputDataConfig - 17, // 7: flyteidl.admin.WorkflowExecutionConfig.labels:type_name -> flyteidl.admin.Labels - 18, // 8: flyteidl.admin.WorkflowExecutionConfig.annotations:type_name -> flyteidl.admin.Annotations - 19, // 9: flyteidl.admin.WorkflowExecutionConfig.interruptible:type_name -> google.protobuf.BoolValue - 20, // 10: flyteidl.admin.WorkflowExecutionConfig.envs:type_name -> flyteidl.admin.Envs - 21, // 11: flyteidl.admin.WorkflowExecutionConfig.execution_env_assignments:type_name -> flyteidl.core.ExecutionEnvAssignment - 3, // 12: flyteidl.admin.MatchingAttributes.task_resource_attributes:type_name -> flyteidl.admin.TaskResourceAttributes - 4, // 13: flyteidl.admin.MatchingAttributes.cluster_resource_attributes:type_name -> flyteidl.admin.ClusterResourceAttributes - 5, // 14: flyteidl.admin.MatchingAttributes.execution_queue_attributes:type_name -> flyteidl.admin.ExecutionQueueAttributes - 6, // 15: flyteidl.admin.MatchingAttributes.execution_cluster_label:type_name -> flyteidl.admin.ExecutionClusterLabel - 22, // 16: flyteidl.admin.MatchingAttributes.quality_of_service:type_name -> flyteidl.core.QualityOfService - 8, // 17: flyteidl.admin.MatchingAttributes.plugin_overrides:type_name -> flyteidl.admin.PluginOverrides - 9, // 18: flyteidl.admin.MatchingAttributes.workflow_execution_config:type_name -> flyteidl.admin.WorkflowExecutionConfig - 23, // 19: flyteidl.admin.MatchingAttributes.cluster_assignment:type_name -> flyteidl.admin.ClusterAssignment - 10, // 20: flyteidl.admin.MatchableAttributesConfiguration.attributes:type_name -> flyteidl.admin.MatchingAttributes - 0, // 21: flyteidl.admin.ListMatchableAttributesRequest.resource_type:type_name -> flyteidl.admin.MatchableResource - 11, // 22: flyteidl.admin.ListMatchableAttributesResponse.configurations:type_name -> flyteidl.admin.MatchableAttributesConfiguration - 23, // [23:23] is the sub-list for method output_type - 23, // [23:23] is the sub-list for method input_type - 23, // [23:23] is the sub-list for extension type_name - 23, // [23:23] is the sub-list for extension extendee - 0, // [0:23] is the sub-list for field type_name + 17, // 5: flyteidl.admin.WorkflowExecutionConfig.security_context:type_name -> flyteidl.core.SecurityContext + 18, // 6: flyteidl.admin.WorkflowExecutionConfig.raw_output_data_config:type_name -> flyteidl.admin.RawOutputDataConfig + 19, // 7: flyteidl.admin.WorkflowExecutionConfig.labels:type_name -> flyteidl.admin.Labels + 20, // 8: flyteidl.admin.WorkflowExecutionConfig.annotations:type_name -> flyteidl.admin.Annotations + 21, // 9: flyteidl.admin.WorkflowExecutionConfig.interruptible:type_name -> google.protobuf.BoolValue + 22, // 10: flyteidl.admin.WorkflowExecutionConfig.envs:type_name -> flyteidl.admin.Envs + 23, // 11: flyteidl.admin.WorkflowExecutionConfig.execution_env_assignments:type_name -> flyteidl.core.ExecutionEnvAssignment + 16, // 12: flyteidl.admin.ExternalResourceAttributes.connections:type_name -> flyteidl.admin.ExternalResourceAttributes.ConnectionsEntry + 3, // 13: flyteidl.admin.MatchingAttributes.task_resource_attributes:type_name -> flyteidl.admin.TaskResourceAttributes + 4, // 14: flyteidl.admin.MatchingAttributes.cluster_resource_attributes:type_name -> flyteidl.admin.ClusterResourceAttributes + 5, // 15: flyteidl.admin.MatchingAttributes.execution_queue_attributes:type_name -> flyteidl.admin.ExecutionQueueAttributes + 6, // 16: flyteidl.admin.MatchingAttributes.execution_cluster_label:type_name -> flyteidl.admin.ExecutionClusterLabel + 24, // 17: flyteidl.admin.MatchingAttributes.quality_of_service:type_name -> flyteidl.core.QualityOfService + 8, // 18: flyteidl.admin.MatchingAttributes.plugin_overrides:type_name -> flyteidl.admin.PluginOverrides + 9, // 19: flyteidl.admin.MatchingAttributes.workflow_execution_config:type_name -> flyteidl.admin.WorkflowExecutionConfig + 25, // 20: flyteidl.admin.MatchingAttributes.cluster_assignment:type_name -> flyteidl.admin.ClusterAssignment + 10, // 21: flyteidl.admin.MatchingAttributes.external_resource_attributes:type_name -> flyteidl.admin.ExternalResourceAttributes + 11, // 22: flyteidl.admin.MatchableAttributesConfiguration.attributes:type_name -> flyteidl.admin.MatchingAttributes + 0, // 23: flyteidl.admin.ListMatchableAttributesRequest.resource_type:type_name -> flyteidl.admin.MatchableResource + 12, // 24: flyteidl.admin.ListMatchableAttributesResponse.configurations:type_name -> flyteidl.admin.MatchableAttributesConfiguration + 26, // 25: flyteidl.admin.ExternalResourceAttributes.ConnectionsEntry.value:type_name -> flyteidl.core.Connection + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_flyteidl_admin_matchable_resource_proto_init() } @@ -1431,7 +1527,7 @@ func file_flyteidl_admin_matchable_resource_proto_init() { } } file_flyteidl_admin_matchable_resource_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MatchingAttributes); i { + switch v := v.(*ExternalResourceAttributes); i { case 0: return &v.state case 1: @@ -1443,7 +1539,7 @@ func file_flyteidl_admin_matchable_resource_proto_init() { } } file_flyteidl_admin_matchable_resource_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MatchableAttributesConfiguration); i { + switch v := v.(*MatchingAttributes); i { case 0: return &v.state case 1: @@ -1455,7 +1551,7 @@ func file_flyteidl_admin_matchable_resource_proto_init() { } } file_flyteidl_admin_matchable_resource_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMatchableAttributesRequest); i { + switch v := v.(*MatchableAttributesConfiguration); i { case 0: return &v.state case 1: @@ -1467,6 +1563,18 @@ func file_flyteidl_admin_matchable_resource_proto_init() { } } file_flyteidl_admin_matchable_resource_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListMatchableAttributesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl_admin_matchable_resource_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListMatchableAttributesResponse); i { case 0: return &v.state @@ -1479,7 +1587,7 @@ func file_flyteidl_admin_matchable_resource_proto_init() { } } } - file_flyteidl_admin_matchable_resource_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_flyteidl_admin_matchable_resource_proto_msgTypes[9].OneofWrappers = []interface{}{ (*MatchingAttributes_TaskResourceAttributes)(nil), (*MatchingAttributes_ClusterResourceAttributes)(nil), (*MatchingAttributes_ExecutionQueueAttributes)(nil), @@ -1488,6 +1596,7 @@ func file_flyteidl_admin_matchable_resource_proto_init() { (*MatchingAttributes_PluginOverrides)(nil), (*MatchingAttributes_WorkflowExecutionConfig)(nil), (*MatchingAttributes_ClusterAssignment)(nil), + (*MatchingAttributes_ExternalResourceAttributes)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -1495,7 +1604,7 @@ func file_flyteidl_admin_matchable_resource_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_flyteidl_admin_matchable_resource_proto_rawDesc, NumEnums: 2, - NumMessages: 13, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/flyteidl/gen/pb-go/flyteidl/core/security.pb.go b/flyteidl/gen/pb-go/flyteidl/core/security.pb.go index e3ee1e1b1b..75c8f522e4 100644 --- a/flyteidl/gen/pb-go/flyteidl/core/security.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/core/security.pb.go @@ -114,7 +114,7 @@ func (x OAuth2TokenRequest_Type) Number() protoreflect.EnumNumber { // Deprecated: Use OAuth2TokenRequest_Type.Descriptor instead. func (OAuth2TokenRequest_Type) EnumDescriptor() ([]byte, []int) { - return file_flyteidl_core_security_proto_rawDescGZIP(), []int{3, 0} + return file_flyteidl_core_security_proto_rawDescGZIP(), []int{4, 0} } // Secret encapsulates information about the secret a task needs to proceed. An environment variable @@ -208,6 +208,75 @@ func (x *Secret) GetMountRequirement() Secret_MountType { return Secret_ANY } +type Connection struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The task type that the connection is used for. + TaskType string `protobuf:"bytes,1,opt,name=task_type,json=taskType,proto3" json:"task_type,omitempty"` + // The credentials to use for the connection, such as API keys, OAuth2 tokens, etc. + // The key is the name of the secret, and it's defined in the flytekit. + // flytekit uses the key to locate the desired secret within the map. + Secrets map[string]string `protobuf:"bytes,2,rep,name=secrets,proto3" json:"secrets,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The configuration to use for the connection, such as the endpoint, account name, etc. + // The key is the name of the config, and it's defined in the flytekit. + Configs map[string]string `protobuf:"bytes,3,rep,name=configs,proto3" json:"configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Connection) Reset() { + *x = Connection{} + if protoimpl.UnsafeEnabled { + mi := &file_flyteidl_core_security_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Connection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Connection) ProtoMessage() {} + +func (x *Connection) ProtoReflect() protoreflect.Message { + mi := &file_flyteidl_core_security_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Connection.ProtoReflect.Descriptor instead. +func (*Connection) Descriptor() ([]byte, []int) { + return file_flyteidl_core_security_proto_rawDescGZIP(), []int{1} +} + +func (x *Connection) GetTaskType() string { + if x != nil { + return x.TaskType + } + return "" +} + +func (x *Connection) GetSecrets() map[string]string { + if x != nil { + return x.Secrets + } + return nil +} + +func (x *Connection) GetConfigs() map[string]string { + if x != nil { + return x.Configs + } + return nil +} + // OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task. type OAuth2Client struct { state protoimpl.MessageState @@ -226,7 +295,7 @@ type OAuth2Client struct { func (x *OAuth2Client) Reset() { *x = OAuth2Client{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_core_security_proto_msgTypes[1] + mi := &file_flyteidl_core_security_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -239,7 +308,7 @@ func (x *OAuth2Client) String() string { func (*OAuth2Client) ProtoMessage() {} func (x *OAuth2Client) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_core_security_proto_msgTypes[1] + mi := &file_flyteidl_core_security_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -252,7 +321,7 @@ func (x *OAuth2Client) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuth2Client.ProtoReflect.Descriptor instead. func (*OAuth2Client) Descriptor() ([]byte, []int) { - return file_flyteidl_core_security_proto_rawDescGZIP(), []int{1} + return file_flyteidl_core_security_proto_rawDescGZIP(), []int{2} } func (x *OAuth2Client) GetClientId() string { @@ -290,7 +359,7 @@ type Identity struct { func (x *Identity) Reset() { *x = Identity{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_core_security_proto_msgTypes[2] + mi := &file_flyteidl_core_security_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -303,7 +372,7 @@ func (x *Identity) String() string { func (*Identity) ProtoMessage() {} func (x *Identity) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_core_security_proto_msgTypes[2] + mi := &file_flyteidl_core_security_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -316,7 +385,7 @@ func (x *Identity) ProtoReflect() protoreflect.Message { // Deprecated: Use Identity.ProtoReflect.Descriptor instead. func (*Identity) Descriptor() ([]byte, []int) { - return file_flyteidl_core_security_proto_rawDescGZIP(), []int{2} + return file_flyteidl_core_security_proto_rawDescGZIP(), []int{3} } func (x *Identity) GetIamRole() string { @@ -380,7 +449,7 @@ type OAuth2TokenRequest struct { func (x *OAuth2TokenRequest) Reset() { *x = OAuth2TokenRequest{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_core_security_proto_msgTypes[3] + mi := &file_flyteidl_core_security_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -393,7 +462,7 @@ func (x *OAuth2TokenRequest) String() string { func (*OAuth2TokenRequest) ProtoMessage() {} func (x *OAuth2TokenRequest) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_core_security_proto_msgTypes[3] + mi := &file_flyteidl_core_security_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -406,7 +475,7 @@ func (x *OAuth2TokenRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OAuth2TokenRequest.ProtoReflect.Descriptor instead. func (*OAuth2TokenRequest) Descriptor() ([]byte, []int) { - return file_flyteidl_core_security_proto_rawDescGZIP(), []int{3} + return file_flyteidl_core_security_proto_rawDescGZIP(), []int{4} } func (x *OAuth2TokenRequest) GetName() string { @@ -463,12 +532,20 @@ type SecurityContext struct { // Batch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access // to the secret) and to pass it to the remote execution engine. Tokens []*OAuth2TokenRequest `protobuf:"bytes,3,rep,name=tokens,proto3" json:"tokens,omitempty"` + // The name of the connection. + // The connection is defined in the externalResourceAttributes or flyteadmin configmap. + // The connection config take precedence in the following order: + // 1. connection in the externalResourceAttributes in the project-domain settings. + // 2. connection in the externalResourceAttributes in the project settings. + // 3. connection in the flyteadmin configmap. + // +optional + ConnectionRef string `protobuf:"bytes,4,opt,name=connection_ref,json=connectionRef,proto3" json:"connection_ref,omitempty"` } func (x *SecurityContext) Reset() { *x = SecurityContext{} if protoimpl.UnsafeEnabled { - mi := &file_flyteidl_core_security_proto_msgTypes[4] + mi := &file_flyteidl_core_security_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -481,7 +558,7 @@ func (x *SecurityContext) String() string { func (*SecurityContext) ProtoMessage() {} func (x *SecurityContext) ProtoReflect() protoreflect.Message { - mi := &file_flyteidl_core_security_proto_msgTypes[4] + mi := &file_flyteidl_core_security_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -494,7 +571,7 @@ func (x *SecurityContext) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityContext.ProtoReflect.Descriptor instead. func (*SecurityContext) Descriptor() ([]byte, []int) { - return file_flyteidl_core_security_proto_rawDescGZIP(), []int{4} + return file_flyteidl_core_security_proto_rawDescGZIP(), []int{5} } func (x *SecurityContext) GetRunAs() *Identity { @@ -518,6 +595,13 @@ func (x *SecurityContext) GetTokens() []*OAuth2TokenRequest { return nil } +func (x *SecurityContext) GetConnectionRef() string { + if x != nil { + return x.ConnectionRef + } + return "" +} + var File_flyteidl_core_security_proto protoreflect.FileDescriptor var file_flyteidl_core_security_proto_rawDesc = []byte{ @@ -537,66 +621,87 @@ var file_flyteidl_core_security_proto_rawDesc = []byte{ 0x65, 0x6e, 0x74, 0x22, 0x2b, 0x0a, 0x09, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x56, 0x5f, 0x56, 0x41, 0x52, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x02, - 0x22, 0x67, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, - 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0c, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x08, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x6f, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x61, 0x6d, 0x52, 0x6f, 0x6c, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6b, 0x38, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x6b, 0x38, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, - 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x22, 0x96, 0x02, 0x0a, 0x12, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x32, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, - 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x34, - 0x0a, 0x16, 0x69, 0x64, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, - 0x69, 0x64, 0x70, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x1e, 0x0a, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, - 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x10, 0x00, 0x22, 0xad, 0x01, 0x0a, 0x0f, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x2e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x12, - 0x2f, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, - 0x12, 0x39, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, - 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x42, 0xb3, 0x01, 0x0a, 0x11, - 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, - 0x65, 0x42, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, - 0x6c, 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x66, 0x6c, - 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x62, 0x2d, 0x67, 0x6f, - 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xa2, 0x02, - 0x03, 0x46, 0x43, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, - 0x43, 0x6f, 0x72, 0x65, 0xca, 0x02, 0x0d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, - 0x43, 0x6f, 0x72, 0x65, 0xe2, 0x02, 0x19, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, - 0x43, 0x6f, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x0e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x3a, 0x3a, 0x43, 0x6f, 0x72, - 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0xa5, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x07, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x40, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x1a, 0x3a, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3a, 0x0a, 0x0c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x67, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, + 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, + 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x22, 0xc6, 0x01, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x19, + 0x0a, 0x08, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x69, 0x61, 0x6d, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x6b, 0x38, 0x73, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6b, 0x38, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0d, 0x6f, 0x61, 0x75, + 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x6f, + 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x96, 0x02, 0x0a, 0x12, 0x4f, + 0x41, 0x75, 0x74, 0x68, 0x32, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, + 0x65, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x52, 0x06, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x16, 0x69, 0x64, 0x70, 0x5f, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x69, 0x64, 0x70, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x22, 0x1e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x43, + 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, + 0x53, 0x10, 0x00, 0x22, 0xd4, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2e, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x61, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, + 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x52, 0x05, 0x72, 0x75, 0x6e, 0x41, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, + 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, + 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x42, 0xb3, 0x01, 0x0a, 0x11, 0x63, + 0x6f, 0x6d, 0x2e, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x63, 0x6f, 0x72, 0x65, + 0x42, 0x0d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6c, + 0x79, 0x74, 0x65, 0x6f, 0x72, 0x67, 0x2f, 0x66, 0x6c, 0x79, 0x74, 0x65, 0x2f, 0x66, 0x6c, 0x79, + 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x70, 0x62, 0x2d, 0x67, 0x6f, 0x2f, + 0x66, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0xa2, 0x02, 0x03, + 0x46, 0x43, 0x58, 0xaa, 0x02, 0x0d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x2e, 0x43, + 0x6f, 0x72, 0x65, 0xca, 0x02, 0x0d, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x43, + 0x6f, 0x72, 0x65, 0xe2, 0x02, 0x19, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x5c, 0x43, + 0x6f, 0x72, 0x65, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x0e, 0x46, 0x6c, 0x79, 0x74, 0x65, 0x69, 0x64, 0x6c, 0x3a, 0x3a, 0x43, 0x6f, 0x72, 0x65, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -612,30 +717,35 @@ func file_flyteidl_core_security_proto_rawDescGZIP() []byte { } var file_flyteidl_core_security_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_flyteidl_core_security_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_flyteidl_core_security_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_flyteidl_core_security_proto_goTypes = []interface{}{ (Secret_MountType)(0), // 0: flyteidl.core.Secret.MountType (OAuth2TokenRequest_Type)(0), // 1: flyteidl.core.OAuth2TokenRequest.Type (*Secret)(nil), // 2: flyteidl.core.Secret - (*OAuth2Client)(nil), // 3: flyteidl.core.OAuth2Client - (*Identity)(nil), // 4: flyteidl.core.Identity - (*OAuth2TokenRequest)(nil), // 5: flyteidl.core.OAuth2TokenRequest - (*SecurityContext)(nil), // 6: flyteidl.core.SecurityContext + (*Connection)(nil), // 3: flyteidl.core.Connection + (*OAuth2Client)(nil), // 4: flyteidl.core.OAuth2Client + (*Identity)(nil), // 5: flyteidl.core.Identity + (*OAuth2TokenRequest)(nil), // 6: flyteidl.core.OAuth2TokenRequest + (*SecurityContext)(nil), // 7: flyteidl.core.SecurityContext + nil, // 8: flyteidl.core.Connection.SecretsEntry + nil, // 9: flyteidl.core.Connection.ConfigsEntry } var file_flyteidl_core_security_proto_depIdxs = []int32{ - 0, // 0: flyteidl.core.Secret.mount_requirement:type_name -> flyteidl.core.Secret.MountType - 2, // 1: flyteidl.core.OAuth2Client.client_secret:type_name -> flyteidl.core.Secret - 3, // 2: flyteidl.core.Identity.oauth2_client:type_name -> flyteidl.core.OAuth2Client - 1, // 3: flyteidl.core.OAuth2TokenRequest.type:type_name -> flyteidl.core.OAuth2TokenRequest.Type - 3, // 4: flyteidl.core.OAuth2TokenRequest.client:type_name -> flyteidl.core.OAuth2Client - 4, // 5: flyteidl.core.SecurityContext.run_as:type_name -> flyteidl.core.Identity - 2, // 6: flyteidl.core.SecurityContext.secrets:type_name -> flyteidl.core.Secret - 5, // 7: flyteidl.core.SecurityContext.tokens:type_name -> flyteidl.core.OAuth2TokenRequest - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 0, // 0: flyteidl.core.Secret.mount_requirement:type_name -> flyteidl.core.Secret.MountType + 8, // 1: flyteidl.core.Connection.secrets:type_name -> flyteidl.core.Connection.SecretsEntry + 9, // 2: flyteidl.core.Connection.configs:type_name -> flyteidl.core.Connection.ConfigsEntry + 2, // 3: flyteidl.core.OAuth2Client.client_secret:type_name -> flyteidl.core.Secret + 4, // 4: flyteidl.core.Identity.oauth2_client:type_name -> flyteidl.core.OAuth2Client + 1, // 5: flyteidl.core.OAuth2TokenRequest.type:type_name -> flyteidl.core.OAuth2TokenRequest.Type + 4, // 6: flyteidl.core.OAuth2TokenRequest.client:type_name -> flyteidl.core.OAuth2Client + 5, // 7: flyteidl.core.SecurityContext.run_as:type_name -> flyteidl.core.Identity + 2, // 8: flyteidl.core.SecurityContext.secrets:type_name -> flyteidl.core.Secret + 6, // 9: flyteidl.core.SecurityContext.tokens:type_name -> flyteidl.core.OAuth2TokenRequest + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_flyteidl_core_security_proto_init() } @@ -657,7 +767,7 @@ func file_flyteidl_core_security_proto_init() { } } file_flyteidl_core_security_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuth2Client); i { + switch v := v.(*Connection); i { case 0: return &v.state case 1: @@ -669,7 +779,7 @@ func file_flyteidl_core_security_proto_init() { } } file_flyteidl_core_security_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Identity); i { + switch v := v.(*OAuth2Client); i { case 0: return &v.state case 1: @@ -681,7 +791,7 @@ func file_flyteidl_core_security_proto_init() { } } file_flyteidl_core_security_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OAuth2TokenRequest); i { + switch v := v.(*Identity); i { case 0: return &v.state case 1: @@ -693,6 +803,18 @@ func file_flyteidl_core_security_proto_init() { } } file_flyteidl_core_security_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OAuth2TokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_flyteidl_core_security_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityContext); i { case 0: return &v.state @@ -711,7 +833,7 @@ func file_flyteidl_core_security_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_flyteidl_core_security_proto_rawDesc, NumEnums: 2, - NumMessages: 5, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/flyteidl/gen/pb-go/gateway/flyteidl/service/admin.swagger.json b/flyteidl/gen/pb-go/gateway/flyteidl/service/admin.swagger.json index c959a8d766..8211b7e7d0 100644 --- a/flyteidl/gen/pb-go/gateway/flyteidl/service/admin.swagger.json +++ b/flyteidl/gen/pb-go/gateway/flyteidl/service/admin.swagger.json @@ -1793,7 +1793,7 @@ "parameters": [ { "name": "resource_type", - "description": "+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -1805,7 +1805,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -2409,7 +2410,7 @@ }, { "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -2421,7 +2422,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -2561,7 +2563,7 @@ }, { "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -2573,7 +2575,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -3555,7 +3558,7 @@ }, { "name": "resource_type", - "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.", + "description": "Which type of matchable attributes to return.\n+required\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems.", "in": "query", "required": false, "type": "string", @@ -3567,7 +3570,8 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE" }, @@ -5057,6 +5061,10 @@ "$ref": "#/definitions/coreExecutionEnvAssignment" }, "description": "Execution environment assignments to be set for the execution." + }, + "external_resource_attributes": { + "$ref": "#/definitions/adminExternalResourceAttributes", + "description": "The connection to use for the execution." } }, "description": "An ExecutionSpec encompasses all data used to launch this execution. The Spec does not change over the lifetime\nof an execution as it progresses across phase changes." @@ -5095,6 +5103,19 @@ "adminExecutionUpdateResponse": { "type": "object" }, + "adminExternalResourceAttributes": { + "type": "object", + "properties": { + "connections": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/coreConnection" + }, + "description": "Connections here is used by the agent to connect to external systems." + } + }, + "description": "ExternalResourceAttributes is a message that encapsulates all the attributes\nthat are required to connect to external resources or services." + }, "adminFixedRate": { "type": "object", "properties": { @@ -5425,10 +5446,11 @@ "QUALITY_OF_SERVICE_SPECIFICATION", "PLUGIN_OVERRIDE", "WORKFLOW_EXECUTION_CONFIG", - "CLUSTER_ASSIGNMENT" + "CLUSTER_ASSIGNMENT", + "EXTERNAL_RESOURCE" ], "default": "TASK_RESOURCE", - "description": "Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes\nbased on matching tags.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run." + "description": "Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes\nbased on matching tags.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.\n - WORKFLOW_EXECUTION_CONFIG: Adds defaults for customizable workflow-execution specifications and overrides.\n - CLUSTER_ASSIGNMENT: Controls how to select an available cluster on which this execution should run.\n - EXTERNAL_RESOURCE: Configures the task connection to be used by the agent to connect to external systems." }, "adminMatchingAttributes": { "type": "object", @@ -5456,6 +5478,9 @@ }, "cluster_assignment": { "$ref": "#/definitions/adminClusterAssignment" + }, + "external_resource_attributes": { + "$ref": "#/definitions/adminExternalResourceAttributes" } }, "description": "Generic container for encapsulating all types of the above attributes messages." @@ -6945,6 +6970,29 @@ }, "description": "Defines a conjunction expression of two boolean expressions." }, + "coreConnection": { + "type": "object", + "properties": { + "task_type": { + "type": "string", + "description": "The task type that the connection is used for." + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The credentials to use for the connection, such as API keys, OAuth2 tokens, etc.\nThe key is the name of the secret, and it's defined in the flytekit.\nflytekit uses the key to locate the desired secret within the map." + }, + "configs": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The configuration to use for the connection, such as the endpoint, account name, etc.\nThe key is the name of the config, and it's defined in the flytekit." + } + } + }, "coreConnectionSet": { "type": "object", "properties": { @@ -7962,6 +8010,10 @@ "$ref": "#/definitions/coreOAuth2TokenRequest" }, "description": "tokens indicate the list of token requests the task needs in order to proceed. Tokens will be mounted/passed to the\npod as it starts. If the plugin responsible for kicking of the task will not run it on a flyte cluster (e.g. AWS\nBatch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access\nto the secret) and to pass it to the remote execution engine." + }, + "connection_ref": { + "type": "string", + "title": "The name of the connection.\nThe connection is defined in the externalResourceAttributes or flyteadmin configmap.\nThe connection config take precedence in the following order:\n1. connection in the externalResourceAttributes in the project-domain settings.\n2. connection in the externalResourceAttributes in the project settings.\n3. connection in the flyteadmin configmap.\n+optional" } }, "description": "SecurityContext holds security attributes that apply to tasks." diff --git a/flyteidl/gen/pb-go/gateway/flyteidl/service/agent.swagger.json b/flyteidl/gen/pb-go/gateway/flyteidl/service/agent.swagger.json index a0e8cfed39..44a07164f3 100644 --- a/flyteidl/gen/pb-go/gateway/flyteidl/service/agent.swagger.json +++ b/flyteidl/gen/pb-go/gateway/flyteidl/service/agent.swagger.json @@ -316,6 +316,27 @@ "in": "query", "required": false, "type": "string" + }, + { + "name": "connection.task_type", + "description": "The task type that the connection is used for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "connection.secrets[string]", + "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "connection.configs[string]", + "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -371,6 +392,27 @@ "in": "query", "required": false, "type": "string" + }, + { + "name": "connection.task_type", + "description": "The task type that the connection is used for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "connection.secrets[string][string]", + "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "connection.configs[string][string]", + "description": "This is a request variable of the map type. The query format is \"map_name[key]=value\", e.g. If the map name is Age, the key type is string, and the value type is integer, the query parameter is expressed as Age[\"bob\"]=18", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -639,6 +681,10 @@ "type": "string", "format": "int64", "description": "MaxDatasetSizeBytes is the maximum size of the dataset that can be generated by the task." + }, + "connection": { + "$ref": "#/definitions/coreConnection", + "title": "Connection (secret and config) required by the agent.\nAgent will use the secret and config in the taskTemplate if it's None.\n+optional" } } }, @@ -660,6 +706,10 @@ "task_execution_metadata": { "$ref": "#/definitions/flyteidladminTaskExecutionMetadata", "description": "subset of runtime task execution metadata." + }, + "connection": { + "$ref": "#/definitions/coreConnection", + "title": "Connection (secret and config) required by the agent.\nAgent will use the secret and config in the taskTemplate if it's None.\n+optional" } }, "description": "Represents a request structure to create task." @@ -944,6 +994,29 @@ }, "title": "Defines type behavior for blob objects" }, + "coreConnection": { + "type": "object", + "properties": { + "task_type": { + "type": "string", + "description": "The task type that the connection is used for." + }, + "secrets[string][string]": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The credentials to use for the connection, such as API keys, OAuth2 tokens, etc.\nThe key is the name of the secret, and it's defined in the flytekit.\nflytekit uses the key to locate the desired secret within the map." + }, + "configs[string][string]": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The configuration to use for the connection, such as the endpoint, account name, etc.\nThe key is the name of the config, and it's defined in the flytekit." + } + } + }, "coreContainer": { "type": "object", "properties": { @@ -1598,6 +1671,10 @@ "$ref": "#/definitions/coreOAuth2TokenRequest" }, "description": "tokens indicate the list of token requests the task needs in order to proceed. Tokens will be mounted/passed to the\npod as it starts. If the plugin responsible for kicking of the task will not run it on a flyte cluster (e.g. AWS\nBatch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access\nto the secret) and to pass it to the remote execution engine." + }, + "connection_ref": { + "type": "string", + "title": "The name of the connection.\nThe connection is defined in the externalResourceAttributes or flyteadmin configmap.\nThe connection config take precedence in the following order:\n1. connection in the externalResourceAttributes in the project-domain settings.\n2. connection in the externalResourceAttributes in the project settings.\n3. connection in the flyteadmin configmap.\n+optional" } }, "description": "SecurityContext holds security attributes that apply to tasks." diff --git a/flyteidl/gen/pb-go/gateway/flyteidl/service/external_plugin_service.swagger.json b/flyteidl/gen/pb-go/gateway/flyteidl/service/external_plugin_service.swagger.json index f488a49c00..c077a87df9 100644 --- a/flyteidl/gen/pb-go/gateway/flyteidl/service/external_plugin_service.swagger.json +++ b/flyteidl/gen/pb-go/gateway/flyteidl/service/external_plugin_service.swagger.json @@ -902,6 +902,10 @@ "$ref": "#/definitions/coreOAuth2TokenRequest" }, "description": "tokens indicate the list of token requests the task needs in order to proceed. Tokens will be mounted/passed to the\npod as it starts. If the plugin responsible for kicking of the task will not run it on a flyte cluster (e.g. AWS\nBatch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access\nto the secret) and to pass it to the remote execution engine." + }, + "connection_ref": { + "type": "string", + "title": "The name of the connection.\nThe connection is defined in the externalResourceAttributes or flyteadmin configmap.\nThe connection config take precedence in the following order:\n1. connection in the externalResourceAttributes in the project-domain settings.\n2. connection in the externalResourceAttributes in the project settings.\n3. connection in the flyteadmin configmap.\n+optional" } }, "description": "SecurityContext holds security attributes that apply to tasks." diff --git a/flyteidl/gen/pb-js/flyteidl.d.ts b/flyteidl/gen/pb-js/flyteidl.d.ts index db54ecb73b..77074c1889 100644 --- a/flyteidl/gen/pb-js/flyteidl.d.ts +++ b/flyteidl/gen/pb-js/flyteidl.d.ts @@ -7104,6 +7104,70 @@ export namespace flyteidl { } } + /** Properties of a Connection. */ + interface IConnection { + + /** Connection taskType */ + taskType?: (string|null); + + /** Connection secrets */ + secrets?: ({ [k: string]: string }|null); + + /** Connection configs */ + configs?: ({ [k: string]: string }|null); + } + + /** Represents a Connection. */ + class Connection implements IConnection { + + /** + * Constructs a new Connection. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.core.IConnection); + + /** Connection taskType. */ + public taskType: string; + + /** Connection secrets. */ + public secrets: { [k: string]: string }; + + /** Connection configs. */ + public configs: { [k: string]: string }; + + /** + * Creates a new Connection instance using the specified properties. + * @param [properties] Properties to set + * @returns Connection instance + */ + public static create(properties?: flyteidl.core.IConnection): flyteidl.core.Connection; + + /** + * Encodes the specified Connection message. Does not implicitly {@link flyteidl.core.Connection.verify|verify} messages. + * @param message Connection message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.core.IConnection, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Connection message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Connection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.core.Connection; + + /** + * Verifies a Connection message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + /** Properties of a OAuth2Client. */ interface IOAuth2Client { @@ -7327,6 +7391,9 @@ export namespace flyteidl { /** SecurityContext tokens */ tokens?: (flyteidl.core.IOAuth2TokenRequest[]|null); + + /** SecurityContext connectionRef */ + connectionRef?: (string|null); } /** Represents a SecurityContext. */ @@ -7347,6 +7414,9 @@ export namespace flyteidl { /** SecurityContext tokens. */ public tokens: flyteidl.core.IOAuth2TokenRequest[]; + /** SecurityContext connectionRef. */ + public connectionRef: string; + /** * Creates a new SecurityContext instance using the specified properties. * @param [properties] Properties to set @@ -9419,6 +9489,9 @@ export namespace flyteidl { /** CreateTaskRequest taskExecutionMetadata */ taskExecutionMetadata?: (flyteidl.admin.ITaskExecutionMetadata|null); + + /** CreateTaskRequest connection */ + connection?: (flyteidl.core.IConnection|null); } /** Represents a CreateTaskRequest. */ @@ -9442,6 +9515,9 @@ export namespace flyteidl { /** CreateTaskRequest taskExecutionMetadata. */ public taskExecutionMetadata?: (flyteidl.admin.ITaskExecutionMetadata|null); + /** CreateTaskRequest connection. */ + public connection?: (flyteidl.core.IConnection|null); + /** * Creates a new CreateTaskRequest instance using the specified properties. * @param [properties] Properties to set @@ -9541,6 +9617,9 @@ export namespace flyteidl { /** CreateRequestHeader maxDatasetSizeBytes */ maxDatasetSizeBytes?: (Long|null); + + /** CreateRequestHeader connection */ + connection?: (flyteidl.core.IConnection|null); } /** Represents a CreateRequestHeader. */ @@ -9564,6 +9643,9 @@ export namespace flyteidl { /** CreateRequestHeader maxDatasetSizeBytes. */ public maxDatasetSizeBytes: Long; + /** CreateRequestHeader connection. */ + public connection?: (flyteidl.core.IConnection|null); + /** * Creates a new CreateRequestHeader instance using the specified properties. * @param [properties] Properties to set @@ -9782,6 +9864,9 @@ export namespace flyteidl { /** GetTaskRequest taskCategory */ taskCategory?: (flyteidl.admin.ITaskCategory|null); + + /** GetTaskRequest connection */ + connection?: (flyteidl.core.IConnection|null); } /** Represents a GetTaskRequest. */ @@ -9802,6 +9887,9 @@ export namespace flyteidl { /** GetTaskRequest taskCategory. */ public taskCategory?: (flyteidl.admin.ITaskCategory|null); + /** GetTaskRequest connection. */ + public connection?: (flyteidl.core.IConnection|null); + /** * Creates a new GetTaskRequest instance using the specified properties. * @param [properties] Properties to set @@ -9980,6 +10068,9 @@ export namespace flyteidl { /** DeleteTaskRequest taskCategory */ taskCategory?: (flyteidl.admin.ITaskCategory|null); + + /** DeleteTaskRequest connection */ + connection?: (flyteidl.core.IConnection|null); } /** Represents a DeleteTaskRequest. */ @@ -10000,6 +10091,9 @@ export namespace flyteidl { /** DeleteTaskRequest taskCategory. */ public taskCategory?: (flyteidl.admin.ITaskCategory|null); + /** DeleteTaskRequest connection. */ + public connection?: (flyteidl.core.IConnection|null); + /** * Creates a new DeleteTaskRequest instance using the specified properties. * @param [properties] Properties to set @@ -14110,6 +14204,9 @@ export namespace flyteidl { /** ExecutionSpec executionEnvAssignments */ executionEnvAssignments?: (flyteidl.core.IExecutionEnvAssignment[]|null); + + /** ExecutionSpec externalResourceAttributes */ + externalResourceAttributes?: (flyteidl.admin.IExternalResourceAttributes|null); } /** Represents an ExecutionSpec. */ @@ -14178,6 +14275,9 @@ export namespace flyteidl { /** ExecutionSpec executionEnvAssignments. */ public executionEnvAssignments: flyteidl.core.IExecutionEnvAssignment[]; + /** ExecutionSpec externalResourceAttributes. */ + public externalResourceAttributes?: (flyteidl.admin.IExternalResourceAttributes|null); + /** ExecutionSpec notificationOverrides. */ public notificationOverrides?: ("notifications"|"disableAll"); @@ -14733,7 +14833,8 @@ export namespace flyteidl { QUALITY_OF_SERVICE_SPECIFICATION = 4, PLUGIN_OVERRIDE = 5, WORKFLOW_EXECUTION_CONFIG = 6, - CLUSTER_ASSIGNMENT = 7 + CLUSTER_ASSIGNMENT = 7, + EXTERNAL_RESOURCE = 8 } /** Properties of a TaskResourceSpec. */ @@ -15251,6 +15352,58 @@ export namespace flyteidl { public static verify(message: { [k: string]: any }): (string|null); } + /** Properties of an ExternalResourceAttributes. */ + interface IExternalResourceAttributes { + + /** ExternalResourceAttributes connections */ + connections?: ({ [k: string]: flyteidl.core.IConnection }|null); + } + + /** Represents an ExternalResourceAttributes. */ + class ExternalResourceAttributes implements IExternalResourceAttributes { + + /** + * Constructs a new ExternalResourceAttributes. + * @param [properties] Properties to set + */ + constructor(properties?: flyteidl.admin.IExternalResourceAttributes); + + /** ExternalResourceAttributes connections. */ + public connections: { [k: string]: flyteidl.core.IConnection }; + + /** + * Creates a new ExternalResourceAttributes instance using the specified properties. + * @param [properties] Properties to set + * @returns ExternalResourceAttributes instance + */ + public static create(properties?: flyteidl.admin.IExternalResourceAttributes): flyteidl.admin.ExternalResourceAttributes; + + /** + * Encodes the specified ExternalResourceAttributes message. Does not implicitly {@link flyteidl.admin.ExternalResourceAttributes.verify|verify} messages. + * @param message ExternalResourceAttributes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: flyteidl.admin.IExternalResourceAttributes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExternalResourceAttributes message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExternalResourceAttributes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.ExternalResourceAttributes; + + /** + * Verifies an ExternalResourceAttributes message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + } + /** Properties of a MatchingAttributes. */ interface IMatchingAttributes { @@ -15277,6 +15430,9 @@ export namespace flyteidl { /** MatchingAttributes clusterAssignment */ clusterAssignment?: (flyteidl.admin.IClusterAssignment|null); + + /** MatchingAttributes externalResourceAttributes */ + externalResourceAttributes?: (flyteidl.admin.IExternalResourceAttributes|null); } /** Represents a MatchingAttributes. */ @@ -15312,8 +15468,11 @@ export namespace flyteidl { /** MatchingAttributes clusterAssignment. */ public clusterAssignment?: (flyteidl.admin.IClusterAssignment|null); + /** MatchingAttributes externalResourceAttributes. */ + public externalResourceAttributes?: (flyteidl.admin.IExternalResourceAttributes|null); + /** MatchingAttributes target. */ - public target?: ("taskResourceAttributes"|"clusterResourceAttributes"|"executionQueueAttributes"|"executionClusterLabel"|"qualityOfService"|"pluginOverrides"|"workflowExecutionConfig"|"clusterAssignment"); + public target?: ("taskResourceAttributes"|"clusterResourceAttributes"|"executionQueueAttributes"|"executionClusterLabel"|"qualityOfService"|"pluginOverrides"|"workflowExecutionConfig"|"clusterAssignment"|"externalResourceAttributes"); /** * Creates a new MatchingAttributes instance using the specified properties. diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js index b2c41b9bb6..72f57822b4 100644 --- a/flyteidl/gen/pb-js/flyteidl.js +++ b/flyteidl/gen/pb-js/flyteidl.js @@ -17180,6 +17180,174 @@ return Secret; })(); + core.Connection = (function() { + + /** + * Properties of a Connection. + * @memberof flyteidl.core + * @interface IConnection + * @property {string|null} [taskType] Connection taskType + * @property {Object.|null} [secrets] Connection secrets + * @property {Object.|null} [configs] Connection configs + */ + + /** + * Constructs a new Connection. + * @memberof flyteidl.core + * @classdesc Represents a Connection. + * @implements IConnection + * @constructor + * @param {flyteidl.core.IConnection=} [properties] Properties to set + */ + function Connection(properties) { + this.secrets = {}; + this.configs = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Connection taskType. + * @member {string} taskType + * @memberof flyteidl.core.Connection + * @instance + */ + Connection.prototype.taskType = ""; + + /** + * Connection secrets. + * @member {Object.} secrets + * @memberof flyteidl.core.Connection + * @instance + */ + Connection.prototype.secrets = $util.emptyObject; + + /** + * Connection configs. + * @member {Object.} configs + * @memberof flyteidl.core.Connection + * @instance + */ + Connection.prototype.configs = $util.emptyObject; + + /** + * Creates a new Connection instance using the specified properties. + * @function create + * @memberof flyteidl.core.Connection + * @static + * @param {flyteidl.core.IConnection=} [properties] Properties to set + * @returns {flyteidl.core.Connection} Connection instance + */ + Connection.create = function create(properties) { + return new Connection(properties); + }; + + /** + * Encodes the specified Connection message. Does not implicitly {@link flyteidl.core.Connection.verify|verify} messages. + * @function encode + * @memberof flyteidl.core.Connection + * @static + * @param {flyteidl.core.IConnection} message Connection message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Connection.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.taskType != null && message.hasOwnProperty("taskType")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.taskType); + if (message.secrets != null && message.hasOwnProperty("secrets")) + for (var keys = Object.keys(message.secrets), i = 0; i < keys.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.secrets[keys[i]]).ldelim(); + if (message.configs != null && message.hasOwnProperty("configs")) + for (var keys = Object.keys(message.configs), i = 0; i < keys.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.configs[keys[i]]).ldelim(); + return writer; + }; + + /** + * Decodes a Connection message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.core.Connection + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.core.Connection} Connection + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Connection.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.core.Connection(), key; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.taskType = reader.string(); + break; + case 2: + reader.skip().pos++; + if (message.secrets === $util.emptyObject) + message.secrets = {}; + key = reader.string(); + reader.pos++; + message.secrets[key] = reader.string(); + break; + case 3: + reader.skip().pos++; + if (message.configs === $util.emptyObject) + message.configs = {}; + key = reader.string(); + reader.pos++; + message.configs[key] = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a Connection message. + * @function verify + * @memberof flyteidl.core.Connection + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Connection.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.taskType != null && message.hasOwnProperty("taskType")) + if (!$util.isString(message.taskType)) + return "taskType: string expected"; + if (message.secrets != null && message.hasOwnProperty("secrets")) { + if (!$util.isObject(message.secrets)) + return "secrets: object expected"; + var key = Object.keys(message.secrets); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.secrets[key[i]])) + return "secrets: string{k:string} expected"; + } + if (message.configs != null && message.hasOwnProperty("configs")) { + if (!$util.isObject(message.configs)) + return "configs: object expected"; + var key = Object.keys(message.configs); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.configs[key[i]])) + return "configs: string{k:string} expected"; + } + return null; + }; + + return Connection; + })(); + core.OAuth2Client = (function() { /** @@ -17677,6 +17845,7 @@ * @property {flyteidl.core.IIdentity|null} [runAs] SecurityContext runAs * @property {Array.|null} [secrets] SecurityContext secrets * @property {Array.|null} [tokens] SecurityContext tokens + * @property {string|null} [connectionRef] SecurityContext connectionRef */ /** @@ -17720,6 +17889,14 @@ */ SecurityContext.prototype.tokens = $util.emptyArray; + /** + * SecurityContext connectionRef. + * @member {string} connectionRef + * @memberof flyteidl.core.SecurityContext + * @instance + */ + SecurityContext.prototype.connectionRef = ""; + /** * Creates a new SecurityContext instance using the specified properties. * @function create @@ -17752,6 +17929,8 @@ if (message.tokens != null && message.tokens.length) for (var i = 0; i < message.tokens.length; ++i) $root.flyteidl.core.OAuth2TokenRequest.encode(message.tokens[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.connectionRef != null && message.hasOwnProperty("connectionRef")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.connectionRef); return writer; }; @@ -17786,6 +17965,9 @@ message.tokens = []; message.tokens.push($root.flyteidl.core.OAuth2TokenRequest.decode(reader, reader.uint32())); break; + case 4: + message.connectionRef = reader.string(); + break; default: reader.skipType(tag & 7); break; @@ -17828,6 +18010,9 @@ return "tokens." + error; } } + if (message.connectionRef != null && message.hasOwnProperty("connectionRef")) + if (!$util.isString(message.connectionRef)) + return "connectionRef: string expected"; return null; }; @@ -23145,6 +23330,7 @@ * @property {flyteidl.core.ITaskTemplate|null} [template] CreateTaskRequest template * @property {string|null} [outputPrefix] CreateTaskRequest outputPrefix * @property {flyteidl.admin.ITaskExecutionMetadata|null} [taskExecutionMetadata] CreateTaskRequest taskExecutionMetadata + * @property {flyteidl.core.IConnection|null} [connection] CreateTaskRequest connection */ /** @@ -23194,6 +23380,14 @@ */ CreateTaskRequest.prototype.taskExecutionMetadata = null; + /** + * CreateTaskRequest connection. + * @member {flyteidl.core.IConnection|null|undefined} connection + * @memberof flyteidl.admin.CreateTaskRequest + * @instance + */ + CreateTaskRequest.prototype.connection = null; + /** * Creates a new CreateTaskRequest instance using the specified properties. * @function create @@ -23226,6 +23420,8 @@ writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputPrefix); if (message.taskExecutionMetadata != null && message.hasOwnProperty("taskExecutionMetadata")) $root.flyteidl.admin.TaskExecutionMetadata.encode(message.taskExecutionMetadata, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.connection != null && message.hasOwnProperty("connection")) + $root.flyteidl.core.Connection.encode(message.connection, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -23259,6 +23455,9 @@ case 4: message.taskExecutionMetadata = $root.flyteidl.admin.TaskExecutionMetadata.decode(reader, reader.uint32()); break; + case 5: + message.connection = $root.flyteidl.core.Connection.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -23296,6 +23495,11 @@ if (error) return "taskExecutionMetadata." + error; } + if (message.connection != null && message.hasOwnProperty("connection")) { + var error = $root.flyteidl.core.Connection.verify(message.connection); + if (error) + return "connection." + error; + } return null; }; @@ -23422,6 +23626,7 @@ * @property {string|null} [outputPrefix] CreateRequestHeader outputPrefix * @property {flyteidl.admin.ITaskExecutionMetadata|null} [taskExecutionMetadata] CreateRequestHeader taskExecutionMetadata * @property {Long|null} [maxDatasetSizeBytes] CreateRequestHeader maxDatasetSizeBytes + * @property {flyteidl.core.IConnection|null} [connection] CreateRequestHeader connection */ /** @@ -23471,6 +23676,14 @@ */ CreateRequestHeader.prototype.maxDatasetSizeBytes = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + /** + * CreateRequestHeader connection. + * @member {flyteidl.core.IConnection|null|undefined} connection + * @memberof flyteidl.admin.CreateRequestHeader + * @instance + */ + CreateRequestHeader.prototype.connection = null; + /** * Creates a new CreateRequestHeader instance using the specified properties. * @function create @@ -23503,6 +23716,8 @@ $root.flyteidl.admin.TaskExecutionMetadata.encode(message.taskExecutionMetadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.maxDatasetSizeBytes != null && message.hasOwnProperty("maxDatasetSizeBytes")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.maxDatasetSizeBytes); + if (message.connection != null && message.hasOwnProperty("connection")) + $root.flyteidl.core.Connection.encode(message.connection, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -23536,6 +23751,9 @@ case 4: message.maxDatasetSizeBytes = reader.int64(); break; + case 5: + message.connection = $root.flyteidl.core.Connection.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -23571,6 +23789,11 @@ if (message.maxDatasetSizeBytes != null && message.hasOwnProperty("maxDatasetSizeBytes")) if (!$util.isInteger(message.maxDatasetSizeBytes) && !(message.maxDatasetSizeBytes && $util.isInteger(message.maxDatasetSizeBytes.low) && $util.isInteger(message.maxDatasetSizeBytes.high))) return "maxDatasetSizeBytes: integer|Long expected"; + if (message.connection != null && message.hasOwnProperty("connection")) { + var error = $root.flyteidl.core.Connection.verify(message.connection); + if (error) + return "connection." + error; + } return null; }; @@ -24006,6 +24229,7 @@ * @property {string|null} [taskType] GetTaskRequest taskType * @property {Uint8Array|null} [resourceMeta] GetTaskRequest resourceMeta * @property {flyteidl.admin.ITaskCategory|null} [taskCategory] GetTaskRequest taskCategory + * @property {flyteidl.core.IConnection|null} [connection] GetTaskRequest connection */ /** @@ -24047,6 +24271,14 @@ */ GetTaskRequest.prototype.taskCategory = null; + /** + * GetTaskRequest connection. + * @member {flyteidl.core.IConnection|null|undefined} connection + * @memberof flyteidl.admin.GetTaskRequest + * @instance + */ + GetTaskRequest.prototype.connection = null; + /** * Creates a new GetTaskRequest instance using the specified properties. * @function create @@ -24077,6 +24309,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.resourceMeta); if (message.taskCategory != null && message.hasOwnProperty("taskCategory")) $root.flyteidl.admin.TaskCategory.encode(message.taskCategory, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.connection != null && message.hasOwnProperty("connection")) + $root.flyteidl.core.Connection.encode(message.connection, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -24107,6 +24341,9 @@ case 3: message.taskCategory = $root.flyteidl.admin.TaskCategory.decode(reader, reader.uint32()); break; + case 5: + message.connection = $root.flyteidl.core.Connection.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -24137,6 +24374,11 @@ if (error) return "taskCategory." + error; } + if (message.connection != null && message.hasOwnProperty("connection")) { + var error = $root.flyteidl.core.Connection.verify(message.connection); + if (error) + return "connection." + error; + } return null; }; @@ -24492,6 +24734,7 @@ * @property {string|null} [taskType] DeleteTaskRequest taskType * @property {Uint8Array|null} [resourceMeta] DeleteTaskRequest resourceMeta * @property {flyteidl.admin.ITaskCategory|null} [taskCategory] DeleteTaskRequest taskCategory + * @property {flyteidl.core.IConnection|null} [connection] DeleteTaskRequest connection */ /** @@ -24533,6 +24776,14 @@ */ DeleteTaskRequest.prototype.taskCategory = null; + /** + * DeleteTaskRequest connection. + * @member {flyteidl.core.IConnection|null|undefined} connection + * @memberof flyteidl.admin.DeleteTaskRequest + * @instance + */ + DeleteTaskRequest.prototype.connection = null; + /** * Creates a new DeleteTaskRequest instance using the specified properties. * @function create @@ -24563,6 +24814,8 @@ writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.resourceMeta); if (message.taskCategory != null && message.hasOwnProperty("taskCategory")) $root.flyteidl.admin.TaskCategory.encode(message.taskCategory, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.connection != null && message.hasOwnProperty("connection")) + $root.flyteidl.core.Connection.encode(message.connection, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; @@ -24593,6 +24846,9 @@ case 3: message.taskCategory = $root.flyteidl.admin.TaskCategory.decode(reader, reader.uint32()); break; + case 5: + message.connection = $root.flyteidl.core.Connection.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -24623,6 +24879,11 @@ if (error) return "taskCategory." + error; } + if (message.connection != null && message.hasOwnProperty("connection")) { + var error = $root.flyteidl.core.Connection.verify(message.connection); + if (error) + return "connection." + error; + } return null; }; @@ -34093,6 +34354,7 @@ * @property {Array.|null} [tags] ExecutionSpec tags * @property {flyteidl.admin.IExecutionClusterLabel|null} [executionClusterLabel] ExecutionSpec executionClusterLabel * @property {Array.|null} [executionEnvAssignments] ExecutionSpec executionEnvAssignments + * @property {flyteidl.admin.IExternalResourceAttributes|null} [externalResourceAttributes] ExecutionSpec externalResourceAttributes */ /** @@ -34264,6 +34526,14 @@ */ ExecutionSpec.prototype.executionEnvAssignments = $util.emptyArray; + /** + * ExecutionSpec externalResourceAttributes. + * @member {flyteidl.admin.IExternalResourceAttributes|null|undefined} externalResourceAttributes + * @memberof flyteidl.admin.ExecutionSpec + * @instance + */ + ExecutionSpec.prototype.externalResourceAttributes = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; @@ -34342,6 +34612,8 @@ if (message.executionEnvAssignments != null && message.executionEnvAssignments.length) for (var i = 0; i < message.executionEnvAssignments.length; ++i) $root.flyteidl.core.ExecutionEnvAssignment.encode(message.executionEnvAssignments[i], writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); + if (message.externalResourceAttributes != null && message.hasOwnProperty("externalResourceAttributes")) + $root.flyteidl.admin.ExternalResourceAttributes.encode(message.externalResourceAttributes, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); return writer; }; @@ -34424,6 +34696,9 @@ message.executionEnvAssignments = []; message.executionEnvAssignments.push($root.flyteidl.core.ExecutionEnvAssignment.decode(reader, reader.uint32())); break; + case 27: + message.externalResourceAttributes = $root.flyteidl.admin.ExternalResourceAttributes.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -34546,6 +34821,11 @@ return "executionEnvAssignments." + error; } } + if (message.externalResourceAttributes != null && message.hasOwnProperty("externalResourceAttributes")) { + var error = $root.flyteidl.admin.ExternalResourceAttributes.verify(message.externalResourceAttributes); + if (error) + return "externalResourceAttributes." + error; + } return null; }; @@ -35700,6 +35980,7 @@ * @property {number} PLUGIN_OVERRIDE=5 PLUGIN_OVERRIDE value * @property {number} WORKFLOW_EXECUTION_CONFIG=6 WORKFLOW_EXECUTION_CONFIG value * @property {number} CLUSTER_ASSIGNMENT=7 CLUSTER_ASSIGNMENT value + * @property {number} EXTERNAL_RESOURCE=8 EXTERNAL_RESOURCE value */ admin.MatchableResource = (function() { var valuesById = {}, values = Object.create(valuesById); @@ -35711,6 +35992,7 @@ values[valuesById[5] = "PLUGIN_OVERRIDE"] = 5; values[valuesById[6] = "WORKFLOW_EXECUTION_CONFIG"] = 6; values[valuesById[7] = "CLUSTER_ASSIGNMENT"] = 7; + values[valuesById[8] = "EXTERNAL_RESOURCE"] = 8; return values; })(); @@ -36932,6 +37214,132 @@ return WorkflowExecutionConfig; })(); + admin.ExternalResourceAttributes = (function() { + + /** + * Properties of an ExternalResourceAttributes. + * @memberof flyteidl.admin + * @interface IExternalResourceAttributes + * @property {Object.|null} [connections] ExternalResourceAttributes connections + */ + + /** + * Constructs a new ExternalResourceAttributes. + * @memberof flyteidl.admin + * @classdesc Represents an ExternalResourceAttributes. + * @implements IExternalResourceAttributes + * @constructor + * @param {flyteidl.admin.IExternalResourceAttributes=} [properties] Properties to set + */ + function ExternalResourceAttributes(properties) { + this.connections = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExternalResourceAttributes connections. + * @member {Object.} connections + * @memberof flyteidl.admin.ExternalResourceAttributes + * @instance + */ + ExternalResourceAttributes.prototype.connections = $util.emptyObject; + + /** + * Creates a new ExternalResourceAttributes instance using the specified properties. + * @function create + * @memberof flyteidl.admin.ExternalResourceAttributes + * @static + * @param {flyteidl.admin.IExternalResourceAttributes=} [properties] Properties to set + * @returns {flyteidl.admin.ExternalResourceAttributes} ExternalResourceAttributes instance + */ + ExternalResourceAttributes.create = function create(properties) { + return new ExternalResourceAttributes(properties); + }; + + /** + * Encodes the specified ExternalResourceAttributes message. Does not implicitly {@link flyteidl.admin.ExternalResourceAttributes.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.ExternalResourceAttributes + * @static + * @param {flyteidl.admin.IExternalResourceAttributes} message ExternalResourceAttributes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExternalResourceAttributes.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.connections != null && message.hasOwnProperty("connections")) + for (var keys = Object.keys(message.connections), i = 0; i < keys.length; ++i) { + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]); + $root.flyteidl.core.Connection.encode(message.connections[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim(); + } + return writer; + }; + + /** + * Decodes an ExternalResourceAttributes message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.ExternalResourceAttributes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.ExternalResourceAttributes} ExternalResourceAttributes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExternalResourceAttributes.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.ExternalResourceAttributes(), key; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + reader.skip().pos++; + if (message.connections === $util.emptyObject) + message.connections = {}; + key = reader.string(); + reader.pos++; + message.connections[key] = $root.flyteidl.core.Connection.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies an ExternalResourceAttributes message. + * @function verify + * @memberof flyteidl.admin.ExternalResourceAttributes + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExternalResourceAttributes.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.connections != null && message.hasOwnProperty("connections")) { + if (!$util.isObject(message.connections)) + return "connections: object expected"; + var key = Object.keys(message.connections); + for (var i = 0; i < key.length; ++i) { + var error = $root.flyteidl.core.Connection.verify(message.connections[key[i]]); + if (error) + return "connections." + error; + } + } + return null; + }; + + return ExternalResourceAttributes; + })(); + admin.MatchingAttributes = (function() { /** @@ -36946,6 +37354,7 @@ * @property {flyteidl.admin.IPluginOverrides|null} [pluginOverrides] MatchingAttributes pluginOverrides * @property {flyteidl.admin.IWorkflowExecutionConfig|null} [workflowExecutionConfig] MatchingAttributes workflowExecutionConfig * @property {flyteidl.admin.IClusterAssignment|null} [clusterAssignment] MatchingAttributes clusterAssignment + * @property {flyteidl.admin.IExternalResourceAttributes|null} [externalResourceAttributes] MatchingAttributes externalResourceAttributes */ /** @@ -37027,17 +37436,25 @@ */ MatchingAttributes.prototype.clusterAssignment = null; + /** + * MatchingAttributes externalResourceAttributes. + * @member {flyteidl.admin.IExternalResourceAttributes|null|undefined} externalResourceAttributes + * @memberof flyteidl.admin.MatchingAttributes + * @instance + */ + MatchingAttributes.prototype.externalResourceAttributes = null; + // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * MatchingAttributes target. - * @member {"taskResourceAttributes"|"clusterResourceAttributes"|"executionQueueAttributes"|"executionClusterLabel"|"qualityOfService"|"pluginOverrides"|"workflowExecutionConfig"|"clusterAssignment"|undefined} target + * @member {"taskResourceAttributes"|"clusterResourceAttributes"|"executionQueueAttributes"|"executionClusterLabel"|"qualityOfService"|"pluginOverrides"|"workflowExecutionConfig"|"clusterAssignment"|"externalResourceAttributes"|undefined} target * @memberof flyteidl.admin.MatchingAttributes * @instance */ Object.defineProperty(MatchingAttributes.prototype, "target", { - get: $util.oneOfGetter($oneOfFields = ["taskResourceAttributes", "clusterResourceAttributes", "executionQueueAttributes", "executionClusterLabel", "qualityOfService", "pluginOverrides", "workflowExecutionConfig", "clusterAssignment"]), + get: $util.oneOfGetter($oneOfFields = ["taskResourceAttributes", "clusterResourceAttributes", "executionQueueAttributes", "executionClusterLabel", "qualityOfService", "pluginOverrides", "workflowExecutionConfig", "clusterAssignment", "externalResourceAttributes"]), set: $util.oneOfSetter($oneOfFields) }); @@ -37081,6 +37498,8 @@ $root.flyteidl.admin.WorkflowExecutionConfig.encode(message.workflowExecutionConfig, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.clusterAssignment != null && message.hasOwnProperty("clusterAssignment")) $root.flyteidl.admin.ClusterAssignment.encode(message.clusterAssignment, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.externalResourceAttributes != null && message.hasOwnProperty("externalResourceAttributes")) + $root.flyteidl.admin.ExternalResourceAttributes.encode(message.externalResourceAttributes, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; @@ -37126,6 +37545,9 @@ case 8: message.clusterAssignment = $root.flyteidl.admin.ClusterAssignment.decode(reader, reader.uint32()); break; + case 9: + message.externalResourceAttributes = $root.flyteidl.admin.ExternalResourceAttributes.decode(reader, reader.uint32()); + break; default: reader.skipType(tag & 7); break; @@ -37224,6 +37646,16 @@ return "clusterAssignment." + error; } } + if (message.externalResourceAttributes != null && message.hasOwnProperty("externalResourceAttributes")) { + if (properties.target === 1) + return "target: multiple values"; + properties.target = 1; + { + var error = $root.flyteidl.admin.ExternalResourceAttributes.verify(message.externalResourceAttributes); + if (error) + return "externalResourceAttributes." + error; + } + } return null; }; @@ -37554,6 +37986,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) @@ -44408,6 +44841,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) @@ -44675,6 +45109,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) @@ -45308,6 +45743,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) @@ -45592,6 +46028,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) @@ -50826,6 +51263,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) @@ -51127,6 +51565,7 @@ case 5: case 6: case 7: + case 8: break; } if (message.org != null && message.hasOwnProperty("org")) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py index 03e181a3e1..3502c77d8e 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.py @@ -23,7 +23,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/admin/agent.proto\x12\x0e\x66lyteidl.admin\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x1c\x66lyteidl/core/workflow.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x9e\x07\n\x15TaskExecutionMetadata\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12I\n\x06labels\x18\x03 \x03(\x0b\x32\x31.flyteidl.admin.TaskExecutionMetadata.LabelsEntryR\x06labels\x12X\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x36.flyteidl.admin.TaskExecutionMetadata.AnnotationsEntryR\x0b\x61nnotations\x12.\n\x13k8s_service_account\x18\x05 \x01(\tR\x11k8sServiceAccount\x12t\n\x15\x65nvironment_variables\x18\x06 \x03(\x0b\x32?.flyteidl.admin.TaskExecutionMetadata.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x12!\n\x0cmax_attempts\x18\x07 \x01(\x05R\x0bmaxAttempts\x12$\n\rinterruptible\x18\x08 \x01(\x08R\rinterruptible\x12\x46\n\x1finterruptible_failure_threshold\x18\t \x01(\x05R\x1dinterruptibleFailureThreshold\x12>\n\toverrides\x18\n \x01(\x0b\x32 .flyteidl.core.TaskNodeOverridesR\toverrides\x12\x33\n\x08identity\x18\x0b \x01(\x0b\x32\x17.flyteidl.core.IdentityR\x08identity\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\x83\x02\n\x11\x43reateTaskRequest\x12\x31\n\x06inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\x12\x37\n\x08template\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x03 \x01(\tR\x0coutputPrefix\x12]\n\x17task_execution_metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.TaskExecutionMetadataR\x15taskExecutionMetadata\"9\n\x12\x43reateTaskResponse\x12#\n\rresource_meta\x18\x01 \x01(\x0cR\x0cresourceMeta\"\x87\x02\n\x13\x43reateRequestHeader\x12\x37\n\x08template\x18\x01 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x02 \x01(\tR\x0coutputPrefix\x12]\n\x17task_execution_metadata\x18\x03 \x01(\x0b\x32%.flyteidl.admin.TaskExecutionMetadataR\x15taskExecutionMetadata\x12\x33\n\x16max_dataset_size_bytes\x18\x04 \x01(\x03R\x13maxDatasetSizeBytes\"\x94\x01\n\x16\x45xecuteTaskSyncRequest\x12=\n\x06header\x18\x01 \x01(\x0b\x32#.flyteidl.admin.CreateRequestHeaderH\x00R\x06header\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\x06inputsB\x06\n\x04part\"U\n\x1d\x45xecuteTaskSyncResponseHeader\x12\x34\n\x08resource\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ResourceR\x08resource\"\xa0\x01\n\x17\x45xecuteTaskSyncResponse\x12G\n\x06header\x18\x01 \x01(\x0b\x32-.flyteidl.admin.ExecuteTaskSyncResponseHeaderH\x00R\x06header\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\x07outputsB\x05\n\x03res\"\x99\x01\n\x0eGetTaskRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x41\n\rtask_category\x18\x03 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\"G\n\x0fGetTaskResponse\x12\x34\n\x08resource\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ResourceR\x08resource\"\xb3\x02\n\x08Resource\x12/\n\x05state\x18\x01 \x01(\x0e\x32\x15.flyteidl.admin.StateB\x02\x18\x01R\x05state\x12\x33\n\x07outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x07outputs\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x33\n\tlog_links\x18\x04 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x08logLinks\x12\x38\n\x05phase\x18\x05 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x38\n\x0b\x63ustom_info\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\"\x9c\x01\n\x11\x44\x65leteTaskRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x41\n\rtask_category\x18\x03 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\"\x14\n\x12\x44\x65leteTaskResponse\"\xc4\x01\n\x05\x41gent\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x14supported_task_types\x18\x02 \x03(\tB\x02\x18\x01R\x12supportedTaskTypes\x12\x17\n\x07is_sync\x18\x03 \x01(\x08R\x06isSync\x12X\n\x19supported_task_categories\x18\x04 \x03(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x17supportedTaskCategories\"<\n\x0cTaskCategory\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version\"%\n\x0fGetAgentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"?\n\x10GetAgentResponse\x12+\n\x05\x61gent\x18\x01 \x01(\x0b\x32\x15.flyteidl.admin.AgentR\x05\x61gent\"\x13\n\x11ListAgentsRequest\"C\n\x12ListAgentsResponse\x12-\n\x06\x61gents\x18\x01 \x03(\x0b\x32\x15.flyteidl.admin.AgentR\x06\x61gents\"\xdb\x02\n\x15GetTaskMetricsRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x18\n\x07queries\x18\x03 \x03(\tR\x07queries\x12\x39\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12-\n\x04step\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x04step\x12\x41\n\rtask_category\x18\x07 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\"X\n\x16GetTaskMetricsResponse\x12>\n\x07results\x18\x01 \x03(\x0b\x32$.flyteidl.core.ExecutionMetricResultR\x07results\"\xc9\x01\n\x12GetTaskLogsRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x14\n\x05lines\x18\x03 \x01(\x04R\x05lines\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12\x41\n\rtask_category\x18\x05 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\"1\n\x19GetTaskLogsResponseHeader\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"3\n\x17GetTaskLogsResponseBody\x12\x18\n\x07results\x18\x01 \x03(\tR\x07results\"\xa1\x01\n\x13GetTaskLogsResponse\x12\x43\n\x06header\x18\x01 \x01(\x0b\x32).flyteidl.admin.GetTaskLogsResponseHeaderH\x00R\x06header\x12=\n\x04\x62ody\x18\x02 \x01(\x0b\x32\'.flyteidl.admin.GetTaskLogsResponseBodyH\x00R\x04\x62odyB\x06\n\x04part*b\n\x05State\x12\x15\n\x11RETRYABLE_FAILURE\x10\x00\x12\x15\n\x11PERMANENT_FAILURE\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x1a\x02\x18\x01\x42\xb6\x01\n\x12\x63om.flyteidl.adminB\nAgentProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1a\x66lyteidl/admin/agent.proto\x12\x0e\x66lyteidl.admin\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x19\x66lyteidl/core/tasks.proto\x1a\x1c\x66lyteidl/core/workflow.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x9e\x07\n\x15TaskExecutionMetadata\x12R\n\x11task_execution_id\x18\x01 \x01(\x0b\x32&.flyteidl.core.TaskExecutionIdentifierR\x0ftaskExecutionId\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12I\n\x06labels\x18\x03 \x03(\x0b\x32\x31.flyteidl.admin.TaskExecutionMetadata.LabelsEntryR\x06labels\x12X\n\x0b\x61nnotations\x18\x04 \x03(\x0b\x32\x36.flyteidl.admin.TaskExecutionMetadata.AnnotationsEntryR\x0b\x61nnotations\x12.\n\x13k8s_service_account\x18\x05 \x01(\tR\x11k8sServiceAccount\x12t\n\x15\x65nvironment_variables\x18\x06 \x03(\x0b\x32?.flyteidl.admin.TaskExecutionMetadata.EnvironmentVariablesEntryR\x14\x65nvironmentVariables\x12!\n\x0cmax_attempts\x18\x07 \x01(\x05R\x0bmaxAttempts\x12$\n\rinterruptible\x18\x08 \x01(\x08R\rinterruptible\x12\x46\n\x1finterruptible_failure_threshold\x18\t \x01(\x05R\x1dinterruptibleFailureThreshold\x12>\n\toverrides\x18\n \x01(\x0b\x32 .flyteidl.core.TaskNodeOverridesR\toverrides\x12\x33\n\x08identity\x18\x0b \x01(\x0b\x32\x17.flyteidl.core.IdentityR\x08identity\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1aG\n\x19\x45nvironmentVariablesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xbe\x02\n\x11\x43reateTaskRequest\x12\x31\n\x06inputs\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\x12\x37\n\x08template\x18\x02 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x03 \x01(\tR\x0coutputPrefix\x12]\n\x17task_execution_metadata\x18\x04 \x01(\x0b\x32%.flyteidl.admin.TaskExecutionMetadataR\x15taskExecutionMetadata\x12\x39\n\nconnection\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.ConnectionR\nconnection\"9\n\x12\x43reateTaskResponse\x12#\n\rresource_meta\x18\x01 \x01(\x0cR\x0cresourceMeta\"\xc2\x02\n\x13\x43reateRequestHeader\x12\x37\n\x08template\x18\x01 \x01(\x0b\x32\x1b.flyteidl.core.TaskTemplateR\x08template\x12#\n\routput_prefix\x18\x02 \x01(\tR\x0coutputPrefix\x12]\n\x17task_execution_metadata\x18\x03 \x01(\x0b\x32%.flyteidl.admin.TaskExecutionMetadataR\x15taskExecutionMetadata\x12\x33\n\x16max_dataset_size_bytes\x18\x04 \x01(\x03R\x13maxDatasetSizeBytes\x12\x39\n\nconnection\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.ConnectionR\nconnection\"\x94\x01\n\x16\x45xecuteTaskSyncRequest\x12=\n\x06header\x18\x01 \x01(\x0b\x32#.flyteidl.admin.CreateRequestHeaderH\x00R\x06header\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\x06inputsB\x06\n\x04part\"U\n\x1d\x45xecuteTaskSyncResponseHeader\x12\x34\n\x08resource\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ResourceR\x08resource\"\xa0\x01\n\x17\x45xecuteTaskSyncResponse\x12G\n\x06header\x18\x01 \x01(\x0b\x32-.flyteidl.admin.ExecuteTaskSyncResponseHeaderH\x00R\x06header\x12\x35\n\x07outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapH\x00R\x07outputsB\x05\n\x03res\"\xd4\x01\n\x0eGetTaskRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x41\n\rtask_category\x18\x03 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\x12\x39\n\nconnection\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.ConnectionR\nconnection\"G\n\x0fGetTaskResponse\x12\x34\n\x08resource\x18\x01 \x01(\x0b\x32\x18.flyteidl.admin.ResourceR\x08resource\"\xb3\x02\n\x08Resource\x12/\n\x05state\x18\x01 \x01(\x0e\x32\x15.flyteidl.admin.StateB\x02\x18\x01R\x05state\x12\x33\n\x07outputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x07outputs\x12\x18\n\x07message\x18\x03 \x01(\tR\x07message\x12\x33\n\tlog_links\x18\x04 \x03(\x0b\x32\x16.flyteidl.core.TaskLogR\x08logLinks\x12\x38\n\x05phase\x18\x05 \x01(\x0e\x32\".flyteidl.core.TaskExecution.PhaseR\x05phase\x12\x38\n\x0b\x63ustom_info\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructR\ncustomInfo\"\xd7\x01\n\x11\x44\x65leteTaskRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x41\n\rtask_category\x18\x03 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\x12\x39\n\nconnection\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.ConnectionR\nconnection\"\x14\n\x12\x44\x65leteTaskResponse\"\xc4\x01\n\x05\x41gent\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x34\n\x14supported_task_types\x18\x02 \x03(\tB\x02\x18\x01R\x12supportedTaskTypes\x12\x17\n\x07is_sync\x18\x03 \x01(\x08R\x06isSync\x12X\n\x19supported_task_categories\x18\x04 \x03(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x17supportedTaskCategories\"<\n\x0cTaskCategory\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07version\x18\x02 \x01(\x05R\x07version\"%\n\x0fGetAgentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"?\n\x10GetAgentResponse\x12+\n\x05\x61gent\x18\x01 \x01(\x0b\x32\x15.flyteidl.admin.AgentR\x05\x61gent\"\x13\n\x11ListAgentsRequest\"C\n\x12ListAgentsResponse\x12-\n\x06\x61gents\x18\x01 \x03(\x0b\x32\x15.flyteidl.admin.AgentR\x06\x61gents\"\xdb\x02\n\x15GetTaskMetricsRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x18\n\x07queries\x18\x03 \x03(\tR\x07queries\x12\x39\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12-\n\x04step\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x04step\x12\x41\n\rtask_category\x18\x07 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\"X\n\x16GetTaskMetricsResponse\x12>\n\x07results\x18\x01 \x03(\x0b\x32$.flyteidl.core.ExecutionMetricResultR\x07results\"\xc9\x01\n\x12GetTaskLogsRequest\x12\x1f\n\ttask_type\x18\x01 \x01(\tB\x02\x18\x01R\x08taskType\x12#\n\rresource_meta\x18\x02 \x01(\x0cR\x0cresourceMeta\x12\x14\n\x05lines\x18\x03 \x01(\x04R\x05lines\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\x12\x41\n\rtask_category\x18\x05 \x01(\x0b\x32\x1c.flyteidl.admin.TaskCategoryR\x0ctaskCategory\"1\n\x19GetTaskLogsResponseHeader\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"3\n\x17GetTaskLogsResponseBody\x12\x18\n\x07results\x18\x01 \x03(\tR\x07results\"\xa1\x01\n\x13GetTaskLogsResponse\x12\x43\n\x06header\x18\x01 \x01(\x0b\x32).flyteidl.admin.GetTaskLogsResponseHeaderH\x00R\x06header\x12=\n\x04\x62ody\x18\x02 \x01(\x0b\x32\'.flyteidl.admin.GetTaskLogsResponseBodyH\x00R\x04\x62odyB\x06\n\x04part*b\n\x05State\x12\x15\n\x11RETRYABLE_FAILURE\x10\x00\x12\x15\n\x11PERMANENT_FAILURE\x10\x01\x12\x0b\n\x07PENDING\x10\x02\x12\x0b\n\x07RUNNING\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x1a\x02\x18\x01\x42\xb6\x01\n\x12\x63om.flyteidl.adminB\nAgentProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -52,8 +52,8 @@ _GETTASKMETRICSREQUEST.fields_by_name['task_type']._serialized_options = b'\030\001' _GETTASKLOGSREQUEST.fields_by_name['task_type']._options = None _GETTASKLOGSREQUEST.fields_by_name['task_type']._serialized_options = b'\030\001' - _globals['_STATE']._serialized_start=4354 - _globals['_STATE']._serialized_end=4452 + _globals['_STATE']._serialized_start=4590 + _globals['_STATE']._serialized_end=4688 _globals['_TASKEXECUTIONMETADATA']._serialized_start=351 _globals['_TASKEXECUTIONMETADATA']._serialized_end=1277 _globals['_TASKEXECUTIONMETADATA_LABELSENTRY']._serialized_start=1083 @@ -63,49 +63,49 @@ _globals['_TASKEXECUTIONMETADATA_ENVIRONMENTVARIABLESENTRY']._serialized_start=1206 _globals['_TASKEXECUTIONMETADATA_ENVIRONMENTVARIABLESENTRY']._serialized_end=1277 _globals['_CREATETASKREQUEST']._serialized_start=1280 - _globals['_CREATETASKREQUEST']._serialized_end=1539 - _globals['_CREATETASKRESPONSE']._serialized_start=1541 - _globals['_CREATETASKRESPONSE']._serialized_end=1598 - _globals['_CREATEREQUESTHEADER']._serialized_start=1601 - _globals['_CREATEREQUESTHEADER']._serialized_end=1864 - _globals['_EXECUTETASKSYNCREQUEST']._serialized_start=1867 - _globals['_EXECUTETASKSYNCREQUEST']._serialized_end=2015 - _globals['_EXECUTETASKSYNCRESPONSEHEADER']._serialized_start=2017 - _globals['_EXECUTETASKSYNCRESPONSEHEADER']._serialized_end=2102 - _globals['_EXECUTETASKSYNCRESPONSE']._serialized_start=2105 - _globals['_EXECUTETASKSYNCRESPONSE']._serialized_end=2265 - _globals['_GETTASKREQUEST']._serialized_start=2268 - _globals['_GETTASKREQUEST']._serialized_end=2421 - _globals['_GETTASKRESPONSE']._serialized_start=2423 - _globals['_GETTASKRESPONSE']._serialized_end=2494 - _globals['_RESOURCE']._serialized_start=2497 - _globals['_RESOURCE']._serialized_end=2804 - _globals['_DELETETASKREQUEST']._serialized_start=2807 - _globals['_DELETETASKREQUEST']._serialized_end=2963 - _globals['_DELETETASKRESPONSE']._serialized_start=2965 - _globals['_DELETETASKRESPONSE']._serialized_end=2985 - _globals['_AGENT']._serialized_start=2988 - _globals['_AGENT']._serialized_end=3184 - _globals['_TASKCATEGORY']._serialized_start=3186 - _globals['_TASKCATEGORY']._serialized_end=3246 - _globals['_GETAGENTREQUEST']._serialized_start=3248 - _globals['_GETAGENTREQUEST']._serialized_end=3285 - _globals['_GETAGENTRESPONSE']._serialized_start=3287 - _globals['_GETAGENTRESPONSE']._serialized_end=3350 - _globals['_LISTAGENTSREQUEST']._serialized_start=3352 - _globals['_LISTAGENTSREQUEST']._serialized_end=3371 - _globals['_LISTAGENTSRESPONSE']._serialized_start=3373 - _globals['_LISTAGENTSRESPONSE']._serialized_end=3440 - _globals['_GETTASKMETRICSREQUEST']._serialized_start=3443 - _globals['_GETTASKMETRICSREQUEST']._serialized_end=3790 - _globals['_GETTASKMETRICSRESPONSE']._serialized_start=3792 - _globals['_GETTASKMETRICSRESPONSE']._serialized_end=3880 - _globals['_GETTASKLOGSREQUEST']._serialized_start=3883 - _globals['_GETTASKLOGSREQUEST']._serialized_end=4084 - _globals['_GETTASKLOGSRESPONSEHEADER']._serialized_start=4086 - _globals['_GETTASKLOGSRESPONSEHEADER']._serialized_end=4135 - _globals['_GETTASKLOGSRESPONSEBODY']._serialized_start=4137 - _globals['_GETTASKLOGSRESPONSEBODY']._serialized_end=4188 - _globals['_GETTASKLOGSRESPONSE']._serialized_start=4191 - _globals['_GETTASKLOGSRESPONSE']._serialized_end=4352 + _globals['_CREATETASKREQUEST']._serialized_end=1598 + _globals['_CREATETASKRESPONSE']._serialized_start=1600 + _globals['_CREATETASKRESPONSE']._serialized_end=1657 + _globals['_CREATEREQUESTHEADER']._serialized_start=1660 + _globals['_CREATEREQUESTHEADER']._serialized_end=1982 + _globals['_EXECUTETASKSYNCREQUEST']._serialized_start=1985 + _globals['_EXECUTETASKSYNCREQUEST']._serialized_end=2133 + _globals['_EXECUTETASKSYNCRESPONSEHEADER']._serialized_start=2135 + _globals['_EXECUTETASKSYNCRESPONSEHEADER']._serialized_end=2220 + _globals['_EXECUTETASKSYNCRESPONSE']._serialized_start=2223 + _globals['_EXECUTETASKSYNCRESPONSE']._serialized_end=2383 + _globals['_GETTASKREQUEST']._serialized_start=2386 + _globals['_GETTASKREQUEST']._serialized_end=2598 + _globals['_GETTASKRESPONSE']._serialized_start=2600 + _globals['_GETTASKRESPONSE']._serialized_end=2671 + _globals['_RESOURCE']._serialized_start=2674 + _globals['_RESOURCE']._serialized_end=2981 + _globals['_DELETETASKREQUEST']._serialized_start=2984 + _globals['_DELETETASKREQUEST']._serialized_end=3199 + _globals['_DELETETASKRESPONSE']._serialized_start=3201 + _globals['_DELETETASKRESPONSE']._serialized_end=3221 + _globals['_AGENT']._serialized_start=3224 + _globals['_AGENT']._serialized_end=3420 + _globals['_TASKCATEGORY']._serialized_start=3422 + _globals['_TASKCATEGORY']._serialized_end=3482 + _globals['_GETAGENTREQUEST']._serialized_start=3484 + _globals['_GETAGENTREQUEST']._serialized_end=3521 + _globals['_GETAGENTRESPONSE']._serialized_start=3523 + _globals['_GETAGENTRESPONSE']._serialized_end=3586 + _globals['_LISTAGENTSREQUEST']._serialized_start=3588 + _globals['_LISTAGENTSREQUEST']._serialized_end=3607 + _globals['_LISTAGENTSRESPONSE']._serialized_start=3609 + _globals['_LISTAGENTSRESPONSE']._serialized_end=3676 + _globals['_GETTASKMETRICSREQUEST']._serialized_start=3679 + _globals['_GETTASKMETRICSREQUEST']._serialized_end=4026 + _globals['_GETTASKMETRICSRESPONSE']._serialized_start=4028 + _globals['_GETTASKMETRICSRESPONSE']._serialized_end=4116 + _globals['_GETTASKLOGSREQUEST']._serialized_start=4119 + _globals['_GETTASKLOGSREQUEST']._serialized_end=4320 + _globals['_GETTASKLOGSRESPONSEHEADER']._serialized_start=4322 + _globals['_GETTASKLOGSRESPONSEHEADER']._serialized_end=4371 + _globals['_GETTASKLOGSRESPONSEBODY']._serialized_start=4373 + _globals['_GETTASKLOGSRESPONSEBODY']._serialized_end=4424 + _globals['_GETTASKLOGSRESPONSE']._serialized_start=4427 + _globals['_GETTASKLOGSRESPONSE']._serialized_end=4588 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi index 956b5d5a4d..f2390328b5 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/agent_pb2.pyi @@ -77,16 +77,18 @@ class TaskExecutionMetadata(_message.Message): def __init__(self, task_execution_id: _Optional[_Union[_identifier_pb2.TaskExecutionIdentifier, _Mapping]] = ..., namespace: _Optional[str] = ..., labels: _Optional[_Mapping[str, str]] = ..., annotations: _Optional[_Mapping[str, str]] = ..., k8s_service_account: _Optional[str] = ..., environment_variables: _Optional[_Mapping[str, str]] = ..., max_attempts: _Optional[int] = ..., interruptible: bool = ..., interruptible_failure_threshold: _Optional[int] = ..., overrides: _Optional[_Union[_workflow_pb2.TaskNodeOverrides, _Mapping]] = ..., identity: _Optional[_Union[_security_pb2.Identity, _Mapping]] = ...) -> None: ... class CreateTaskRequest(_message.Message): - __slots__ = ["inputs", "template", "output_prefix", "task_execution_metadata"] + __slots__ = ["inputs", "template", "output_prefix", "task_execution_metadata", "connection"] INPUTS_FIELD_NUMBER: _ClassVar[int] TEMPLATE_FIELD_NUMBER: _ClassVar[int] OUTPUT_PREFIX_FIELD_NUMBER: _ClassVar[int] TASK_EXECUTION_METADATA_FIELD_NUMBER: _ClassVar[int] + CONNECTION_FIELD_NUMBER: _ClassVar[int] inputs: _literals_pb2.LiteralMap template: _tasks_pb2.TaskTemplate output_prefix: str task_execution_metadata: TaskExecutionMetadata - def __init__(self, inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., task_execution_metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ...) -> None: ... + connection: _security_pb2.Connection + def __init__(self, inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., task_execution_metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ..., connection: _Optional[_Union[_security_pb2.Connection, _Mapping]] = ...) -> None: ... class CreateTaskResponse(_message.Message): __slots__ = ["resource_meta"] @@ -95,16 +97,18 @@ class CreateTaskResponse(_message.Message): def __init__(self, resource_meta: _Optional[bytes] = ...) -> None: ... class CreateRequestHeader(_message.Message): - __slots__ = ["template", "output_prefix", "task_execution_metadata", "max_dataset_size_bytes"] + __slots__ = ["template", "output_prefix", "task_execution_metadata", "max_dataset_size_bytes", "connection"] TEMPLATE_FIELD_NUMBER: _ClassVar[int] OUTPUT_PREFIX_FIELD_NUMBER: _ClassVar[int] TASK_EXECUTION_METADATA_FIELD_NUMBER: _ClassVar[int] MAX_DATASET_SIZE_BYTES_FIELD_NUMBER: _ClassVar[int] + CONNECTION_FIELD_NUMBER: _ClassVar[int] template: _tasks_pb2.TaskTemplate output_prefix: str task_execution_metadata: TaskExecutionMetadata max_dataset_size_bytes: int - def __init__(self, template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., task_execution_metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ..., max_dataset_size_bytes: _Optional[int] = ...) -> None: ... + connection: _security_pb2.Connection + def __init__(self, template: _Optional[_Union[_tasks_pb2.TaskTemplate, _Mapping]] = ..., output_prefix: _Optional[str] = ..., task_execution_metadata: _Optional[_Union[TaskExecutionMetadata, _Mapping]] = ..., max_dataset_size_bytes: _Optional[int] = ..., connection: _Optional[_Union[_security_pb2.Connection, _Mapping]] = ...) -> None: ... class ExecuteTaskSyncRequest(_message.Message): __slots__ = ["header", "inputs"] @@ -129,14 +133,16 @@ class ExecuteTaskSyncResponse(_message.Message): def __init__(self, header: _Optional[_Union[ExecuteTaskSyncResponseHeader, _Mapping]] = ..., outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ...) -> None: ... class GetTaskRequest(_message.Message): - __slots__ = ["task_type", "resource_meta", "task_category"] + __slots__ = ["task_type", "resource_meta", "task_category", "connection"] TASK_TYPE_FIELD_NUMBER: _ClassVar[int] RESOURCE_META_FIELD_NUMBER: _ClassVar[int] TASK_CATEGORY_FIELD_NUMBER: _ClassVar[int] + CONNECTION_FIELD_NUMBER: _ClassVar[int] task_type: str resource_meta: bytes task_category: TaskCategory - def __init__(self, task_type: _Optional[str] = ..., resource_meta: _Optional[bytes] = ..., task_category: _Optional[_Union[TaskCategory, _Mapping]] = ...) -> None: ... + connection: _security_pb2.Connection + def __init__(self, task_type: _Optional[str] = ..., resource_meta: _Optional[bytes] = ..., task_category: _Optional[_Union[TaskCategory, _Mapping]] = ..., connection: _Optional[_Union[_security_pb2.Connection, _Mapping]] = ...) -> None: ... class GetTaskResponse(_message.Message): __slots__ = ["resource"] @@ -161,14 +167,16 @@ class Resource(_message.Message): def __init__(self, state: _Optional[_Union[State, str]] = ..., outputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., message: _Optional[str] = ..., log_links: _Optional[_Iterable[_Union[_execution_pb2.TaskLog, _Mapping]]] = ..., phase: _Optional[_Union[_execution_pb2.TaskExecution.Phase, str]] = ..., custom_info: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ... class DeleteTaskRequest(_message.Message): - __slots__ = ["task_type", "resource_meta", "task_category"] + __slots__ = ["task_type", "resource_meta", "task_category", "connection"] TASK_TYPE_FIELD_NUMBER: _ClassVar[int] RESOURCE_META_FIELD_NUMBER: _ClassVar[int] TASK_CATEGORY_FIELD_NUMBER: _ClassVar[int] + CONNECTION_FIELD_NUMBER: _ClassVar[int] task_type: str resource_meta: bytes task_category: TaskCategory - def __init__(self, task_type: _Optional[str] = ..., resource_meta: _Optional[bytes] = ..., task_category: _Optional[_Union[TaskCategory, _Mapping]] = ...) -> None: ... + connection: _security_pb2.Connection + def __init__(self, task_type: _Optional[str] = ..., resource_meta: _Optional[bytes] = ..., task_category: _Optional[_Union[TaskCategory, _Mapping]] = ..., connection: _Optional[_Union[_security_pb2.Connection, _Mapping]] = ...) -> None: ... class DeleteTaskResponse(_message.Message): __slots__ = [] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py index ff650d4c55..94f9ca2779 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.py @@ -26,7 +26,7 @@ from flyteidl.admin import matchable_resource_pb2 as flyteidl_dot_admin_dot_matchable__resource__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\"flyteidl/core/execution_envs.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\'flyteidl/admin/matchable_resource.proto\"\xd6\x01\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x31\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x85\x05\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\x12<\n\x0c\x61rtifact_ids\x18\x12 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x0b\x61rtifactIds\"t\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\x12\x0b\n\x07TRIGGER\x10\x06\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\xd6\t\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x16\n\x04tags\x18\x18 \x03(\tB\x02\x18\x01R\x04tags\x12]\n\x17\x65xecution_cluster_label\x18\x19 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelR\x15\x65xecutionClusterLabel\x12\x61\n\x19\x65xecution_env_assignments\x18\x1a \x03(\x0b\x32%.flyteidl.core.ExecutionEnvAssignmentR\x17\x65xecutionEnvAssignmentsB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x88\x02\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1e\x66lyteidl/admin/execution.proto\x12\x0e\x66lyteidl.admin\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a\x1c\x66lyteidl/core/literals.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\"flyteidl/core/execution_envs.proto\x1a\x1f\x66lyteidl/core/artifact_id.proto\x1a\x1e\x66lyteidl/core/identifier.proto\x1a\x1b\x66lyteidl/core/metrics.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\'flyteidl/admin/matchable_resource.proto\"\xd6\x01\n\x16\x45xecutionCreateRequest\x12\x18\n\x07project\x18\x01 \x01(\tR\x07project\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\x31\n\x04spec\x18\x04 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12\x31\n\x06inputs\x18\x05 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x06inputs\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"\x99\x01\n\x18\x45xecutionRelaunchRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12\'\n\x0foverwrite_cache\x18\x04 \x01(\x08R\x0eoverwriteCacheJ\x04\x08\x02\x10\x03\"\xa8\x01\n\x17\x45xecutionRecoverRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\"U\n\x17\x45xecutionCreateResponse\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"Y\n\x1bWorkflowExecutionGetRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\xb6\x01\n\tExecution\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x31\n\x04spec\x18\x02 \x01(\x0b\x32\x1d.flyteidl.admin.ExecutionSpecR\x04spec\x12:\n\x07\x63losure\x18\x03 \x01(\x0b\x32 .flyteidl.admin.ExecutionClosureR\x07\x63losure\"`\n\rExecutionList\x12\x39\n\nexecutions\x18\x01 \x03(\x0b\x32\x19.flyteidl.admin.ExecutionR\nexecutions\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"e\n\x0eLiteralMapBlob\x12\x37\n\x06values\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\x06values\x12\x12\n\x03uri\x18\x02 \x01(\tH\x00R\x03uriB\x06\n\x04\x64\x61ta\"C\n\rAbortMetadata\x12\x14\n\x05\x63\x61use\x18\x01 \x01(\tR\x05\x63\x61use\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\"\x98\x07\n\x10\x45xecutionClosure\x12>\n\x07outputs\x18\x01 \x01(\x0b\x32\x1e.flyteidl.admin.LiteralMapBlobB\x02\x18\x01H\x00R\x07outputs\x12\x35\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.flyteidl.core.ExecutionErrorH\x00R\x05\x65rror\x12%\n\x0b\x61\x62ort_cause\x18\n \x01(\tB\x02\x18\x01H\x00R\nabortCause\x12\x46\n\x0e\x61\x62ort_metadata\x18\x0c \x01(\x0b\x32\x1d.flyteidl.admin.AbortMetadataH\x00R\rabortMetadata\x12@\n\x0boutput_data\x18\r \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01H\x00R\noutputData\x12\x46\n\x0f\x63omputed_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x0e\x63omputedInputs\x12<\n\x05phase\x18\x04 \x01(\x0e\x32&.flyteidl.core.WorkflowExecution.PhaseR\x05phase\x12\x39\n\nstarted_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartedAt\x12\x35\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationR\x08\x64uration\x12\x39\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\rnotifications\x18\t \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\x12:\n\x0bworkflow_id\x18\x0b \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nworkflowId\x12]\n\x14state_change_details\x18\x0e \x01(\x0b\x32+.flyteidl.admin.ExecutionStateChangeDetailsR\x12stateChangeDetailsB\x0f\n\routput_result\"[\n\x0eSystemMetadata\x12+\n\x11\x65xecution_cluster\x18\x01 \x01(\tR\x10\x65xecutionCluster\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\"\x85\x05\n\x11\x45xecutionMetadata\x12\x43\n\x04mode\x18\x01 \x01(\x0e\x32/.flyteidl.admin.ExecutionMetadata.ExecutionModeR\x04mode\x12\x1c\n\tprincipal\x18\x02 \x01(\tR\tprincipal\x12\x18\n\x07nesting\x18\x03 \x01(\rR\x07nesting\x12=\n\x0cscheduled_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x0bscheduledAt\x12Z\n\x15parent_node_execution\x18\x05 \x01(\x0b\x32&.flyteidl.core.NodeExecutionIdentifierR\x13parentNodeExecution\x12[\n\x13reference_execution\x18\x10 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x12referenceExecution\x12G\n\x0fsystem_metadata\x18\x11 \x01(\x0b\x32\x1e.flyteidl.admin.SystemMetadataR\x0esystemMetadata\x12<\n\x0c\x61rtifact_ids\x18\x12 \x03(\x0b\x32\x19.flyteidl.core.ArtifactIDR\x0b\x61rtifactIds\"t\n\rExecutionMode\x12\n\n\x06MANUAL\x10\x00\x12\r\n\tSCHEDULED\x10\x01\x12\n\n\x06SYSTEM\x10\x02\x12\x0c\n\x08RELAUNCH\x10\x03\x12\x12\n\x0e\x43HILD_WORKFLOW\x10\x04\x12\r\n\tRECOVERED\x10\x05\x12\x0b\n\x07TRIGGER\x10\x06\"V\n\x10NotificationList\x12\x42\n\rnotifications\x18\x01 \x03(\x0b\x32\x1c.flyteidl.admin.NotificationR\rnotifications\"\xc4\n\n\rExecutionSpec\x12:\n\x0blaunch_plan\x18\x01 \x01(\x0b\x32\x19.flyteidl.core.IdentifierR\nlaunchPlan\x12\x35\n\x06inputs\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapB\x02\x18\x01R\x06inputs\x12=\n\x08metadata\x18\x03 \x01(\x0b\x32!.flyteidl.admin.ExecutionMetadataR\x08metadata\x12H\n\rnotifications\x18\x05 \x01(\x0b\x32 .flyteidl.admin.NotificationListH\x00R\rnotifications\x12!\n\x0b\x64isable_all\x18\x06 \x01(\x08H\x00R\ndisableAll\x12.\n\x06labels\x18\x07 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x08 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12I\n\x10security_context\x18\n \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12\x39\n\tauth_role\x18\x10 \x01(\x0b\x32\x18.flyteidl.admin.AuthRoleB\x02\x18\x01R\x08\x61uthRole\x12M\n\x12quality_of_service\x18\x11 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceR\x10qualityOfService\x12\'\n\x0fmax_parallelism\x18\x12 \x01(\x05R\x0emaxParallelism\x12X\n\x16raw_output_data_config\x18\x13 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12P\n\x12\x63luster_assignment\x18\x14 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentR\x11\x63lusterAssignment\x12@\n\rinterruptible\x18\x15 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x16 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x17 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x16\n\x04tags\x18\x18 \x03(\tB\x02\x18\x01R\x04tags\x12]\n\x17\x65xecution_cluster_label\x18\x19 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelR\x15\x65xecutionClusterLabel\x12\x61\n\x19\x65xecution_env_assignments\x18\x1a \x03(\x0b\x32%.flyteidl.core.ExecutionEnvAssignmentR\x17\x65xecutionEnvAssignments\x12l\n\x1c\x65xternal_resource_attributes\x18\x1b \x01(\x0b\x32*.flyteidl.admin.ExternalResourceAttributesR\x1a\x65xternalResourceAttributesB\x18\n\x16notification_overridesJ\x04\x08\x04\x10\x05\"m\n\x19\x45xecutionTerminateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x63\x61use\x18\x02 \x01(\tR\x05\x63\x61use\"\x1c\n\x1a\x45xecutionTerminateResponse\"]\n\x1fWorkflowExecutionGetDataRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\"\x88\x02\n WorkflowExecutionGetDataResponse\x12\x35\n\x07outputs\x18\x01 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x07outputs\x12\x33\n\x06inputs\x18\x02 \x01(\x0b\x32\x17.flyteidl.admin.UrlBlobB\x02\x18\x01R\x06inputs\x12:\n\x0b\x66ull_inputs\x18\x03 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\nfullInputs\x12<\n\x0c\x66ull_outputs\x18\x04 \x01(\x0b\x32\x19.flyteidl.core.LiteralMapR\x0b\x66ullOutputs\"\x8a\x01\n\x16\x45xecutionUpdateRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x34\n\x05state\x18\x02 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\"\xae\x01\n\x1b\x45xecutionStateChangeDetails\x12\x34\n\x05state\x18\x01 \x01(\x0e\x32\x1e.flyteidl.admin.ExecutionStateR\x05state\x12;\n\x0boccurred_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1c\n\tprincipal\x18\x03 \x01(\tR\tprincipal\"\x19\n\x17\x45xecutionUpdateResponse\"v\n\"WorkflowExecutionGetMetricsRequest\x12:\n\x02id\x18\x01 \x01(\x0b\x32*.flyteidl.core.WorkflowExecutionIdentifierR\x02id\x12\x14\n\x05\x64\x65pth\x18\x02 \x01(\x05R\x05\x64\x65pth\"N\n#WorkflowExecutionGetMetricsResponse\x12\'\n\x04span\x18\x01 \x01(\x0b\x32\x13.flyteidl.core.SpanR\x04span*>\n\x0e\x45xecutionState\x12\x14\n\x10\x45XECUTION_ACTIVE\x10\x00\x12\x16\n\x12\x45XECUTION_ARCHIVED\x10\x01\x42\xba\x01\n\x12\x63om.flyteidl.adminB\x0e\x45xecutionProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -55,8 +55,8 @@ _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['outputs']._serialized_options = b'\030\001' _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._options = None _WORKFLOWEXECUTIONGETDATARESPONSE.fields_by_name['inputs']._serialized_options = b'\030\001' - _globals['_EXECUTIONSTATE']._serialized_start=5697 - _globals['_EXECUTIONSTATE']._serialized_end=5759 + _globals['_EXECUTIONSTATE']._serialized_start=5807 + _globals['_EXECUTIONSTATE']._serialized_end=5869 _globals['_EXECUTIONCREATEREQUEST']._serialized_start=480 _globals['_EXECUTIONCREATEREQUEST']._serialized_end=694 _globals['_EXECUTIONRELAUNCHREQUEST']._serialized_start=697 @@ -86,23 +86,23 @@ _globals['_NOTIFICATIONLIST']._serialized_start=3320 _globals['_NOTIFICATIONLIST']._serialized_end=3406 _globals['_EXECUTIONSPEC']._serialized_start=3409 - _globals['_EXECUTIONSPEC']._serialized_end=4647 - _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4649 - _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4758 - _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4760 - _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4788 - _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4790 - _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4883 - _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4886 - _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=5150 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=5153 - _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5291 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5294 - _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5468 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5470 - _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5495 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5497 - _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5615 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5617 - _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5695 + _globals['_EXECUTIONSPEC']._serialized_end=4757 + _globals['_EXECUTIONTERMINATEREQUEST']._serialized_start=4759 + _globals['_EXECUTIONTERMINATEREQUEST']._serialized_end=4868 + _globals['_EXECUTIONTERMINATERESPONSE']._serialized_start=4870 + _globals['_EXECUTIONTERMINATERESPONSE']._serialized_end=4898 + _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_start=4900 + _globals['_WORKFLOWEXECUTIONGETDATAREQUEST']._serialized_end=4993 + _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_start=4996 + _globals['_WORKFLOWEXECUTIONGETDATARESPONSE']._serialized_end=5260 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_start=5263 + _globals['_EXECUTIONUPDATEREQUEST']._serialized_end=5401 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_start=5404 + _globals['_EXECUTIONSTATECHANGEDETAILS']._serialized_end=5578 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_start=5580 + _globals['_EXECUTIONUPDATERESPONSE']._serialized_end=5605 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_start=5607 + _globals['_WORKFLOWEXECUTIONGETMETRICSREQUEST']._serialized_end=5725 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_start=5727 + _globals['_WORKFLOWEXECUTIONGETMETRICSRESPONSE']._serialized_end=5805 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi index 86928f23df..76b49d61ef 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/execution_pb2.pyi @@ -191,7 +191,7 @@ class NotificationList(_message.Message): def __init__(self, notifications: _Optional[_Iterable[_Union[_common_pb2.Notification, _Mapping]]] = ...) -> None: ... class ExecutionSpec(_message.Message): - __slots__ = ["launch_plan", "inputs", "metadata", "notifications", "disable_all", "labels", "annotations", "security_context", "auth_role", "quality_of_service", "max_parallelism", "raw_output_data_config", "cluster_assignment", "interruptible", "overwrite_cache", "envs", "tags", "execution_cluster_label", "execution_env_assignments"] + __slots__ = ["launch_plan", "inputs", "metadata", "notifications", "disable_all", "labels", "annotations", "security_context", "auth_role", "quality_of_service", "max_parallelism", "raw_output_data_config", "cluster_assignment", "interruptible", "overwrite_cache", "envs", "tags", "execution_cluster_label", "execution_env_assignments", "external_resource_attributes"] LAUNCH_PLAN_FIELD_NUMBER: _ClassVar[int] INPUTS_FIELD_NUMBER: _ClassVar[int] METADATA_FIELD_NUMBER: _ClassVar[int] @@ -211,6 +211,7 @@ class ExecutionSpec(_message.Message): TAGS_FIELD_NUMBER: _ClassVar[int] EXECUTION_CLUSTER_LABEL_FIELD_NUMBER: _ClassVar[int] EXECUTION_ENV_ASSIGNMENTS_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_RESOURCE_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] launch_plan: _identifier_pb2.Identifier inputs: _literals_pb2.LiteralMap metadata: ExecutionMetadata @@ -230,7 +231,8 @@ class ExecutionSpec(_message.Message): tags: _containers.RepeatedScalarFieldContainer[str] execution_cluster_label: _matchable_resource_pb2.ExecutionClusterLabel execution_env_assignments: _containers.RepeatedCompositeFieldContainer[_execution_envs_pb2.ExecutionEnvAssignment] - def __init__(self, launch_plan: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., metadata: _Optional[_Union[ExecutionMetadata, _Mapping]] = ..., notifications: _Optional[_Union[NotificationList, _Mapping]] = ..., disable_all: bool = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., annotations: _Optional[_Union[_common_pb2.Annotations, _Mapping]] = ..., security_context: _Optional[_Union[_security_pb2.SecurityContext, _Mapping]] = ..., auth_role: _Optional[_Union[_common_pb2.AuthRole, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., max_parallelism: _Optional[int] = ..., raw_output_data_config: _Optional[_Union[_common_pb2.RawOutputDataConfig, _Mapping]] = ..., cluster_assignment: _Optional[_Union[_cluster_assignment_pb2.ClusterAssignment, _Mapping]] = ..., interruptible: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., overwrite_cache: bool = ..., envs: _Optional[_Union[_common_pb2.Envs, _Mapping]] = ..., tags: _Optional[_Iterable[str]] = ..., execution_cluster_label: _Optional[_Union[_matchable_resource_pb2.ExecutionClusterLabel, _Mapping]] = ..., execution_env_assignments: _Optional[_Iterable[_Union[_execution_envs_pb2.ExecutionEnvAssignment, _Mapping]]] = ...) -> None: ... + external_resource_attributes: _matchable_resource_pb2.ExternalResourceAttributes + def __init__(self, launch_plan: _Optional[_Union[_identifier_pb2.Identifier, _Mapping]] = ..., inputs: _Optional[_Union[_literals_pb2.LiteralMap, _Mapping]] = ..., metadata: _Optional[_Union[ExecutionMetadata, _Mapping]] = ..., notifications: _Optional[_Union[NotificationList, _Mapping]] = ..., disable_all: bool = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., annotations: _Optional[_Union[_common_pb2.Annotations, _Mapping]] = ..., security_context: _Optional[_Union[_security_pb2.SecurityContext, _Mapping]] = ..., auth_role: _Optional[_Union[_common_pb2.AuthRole, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., max_parallelism: _Optional[int] = ..., raw_output_data_config: _Optional[_Union[_common_pb2.RawOutputDataConfig, _Mapping]] = ..., cluster_assignment: _Optional[_Union[_cluster_assignment_pb2.ClusterAssignment, _Mapping]] = ..., interruptible: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., overwrite_cache: bool = ..., envs: _Optional[_Union[_common_pb2.Envs, _Mapping]] = ..., tags: _Optional[_Iterable[str]] = ..., execution_cluster_label: _Optional[_Union[_matchable_resource_pb2.ExecutionClusterLabel, _Mapping]] = ..., execution_env_assignments: _Optional[_Iterable[_Union[_execution_envs_pb2.ExecutionEnvAssignment, _Mapping]]] = ..., external_resource_attributes: _Optional[_Union[_matchable_resource_pb2.ExternalResourceAttributes, _Mapping]] = ...) -> None: ... class ExecutionTerminateRequest(_message.Message): __slots__ = ["id", "cause"] diff --git a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py index 012e208c06..46ce4ebf1d 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py @@ -19,7 +19,7 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl/admin/matchable_resource.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\"flyteidl/core/execution_envs.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x95\x01\n\x10TaskResourceSpec\x12\x10\n\x03\x63pu\x18\x01 \x01(\tR\x03\x63pu\x12\x10\n\x03gpu\x18\x02 \x01(\tR\x03gpu\x12\x16\n\x06memory\x18\x03 \x01(\tR\x06memory\x12\x18\n\x07storage\x18\x04 \x01(\tR\x07storage\x12+\n\x11\x65phemeral_storage\x18\x05 \x01(\tR\x10\x65phemeralStorage\"\x90\x01\n\x16TaskResourceAttributes\x12<\n\x08\x64\x65\x66\x61ults\x18\x01 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x08\x64\x65\x66\x61ults\x12\x38\n\x06limits\x18\x02 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x06limits\"\xb5\x01\n\x19\x43lusterResourceAttributes\x12Y\n\nattributes\x18\x01 \x03(\x0b\x32\x39.flyteidl.admin.ClusterResourceAttributes.AttributesEntryR\nattributes\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\".\n\x18\x45xecutionQueueAttributes\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags\"-\n\x15\x45xecutionClusterLabel\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"\xec\x01\n\x0ePluginOverride\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x1b\n\tplugin_id\x18\x02 \x03(\tR\x08pluginId\x12l\n\x17missing_plugin_behavior\x18\x04 \x01(\x0e\x32\x34.flyteidl.admin.PluginOverride.MissingPluginBehaviorR\x15missingPluginBehavior\"2\n\x15MissingPluginBehavior\x12\x08\n\x04\x46\x41IL\x10\x00\x12\x0f\n\x0bUSE_DEFAULT\x10\x01\"O\n\x0fPluginOverrides\x12<\n\toverrides\x18\x01 \x03(\x0b\x32\x1e.flyteidl.admin.PluginOverrideR\toverrides\"\xce\x04\n\x17WorkflowExecutionConfig\x12\'\n\x0fmax_parallelism\x18\x01 \x01(\x05R\x0emaxParallelism\x12I\n\x10security_context\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12X\n\x16raw_output_data_config\x18\x03 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12.\n\x06labels\x18\x04 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x05 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12@\n\rinterruptible\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x07 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x61\n\x19\x65xecution_env_assignments\x18\t \x03(\x0b\x32%.flyteidl.core.ExecutionEnvAssignmentR\x17\x65xecutionEnvAssignments\"\x94\x06\n\x12MatchingAttributes\x12\x62\n\x18task_resource_attributes\x18\x01 \x01(\x0b\x32&.flyteidl.admin.TaskResourceAttributesH\x00R\x16taskResourceAttributes\x12k\n\x1b\x63luster_resource_attributes\x18\x02 \x01(\x0b\x32).flyteidl.admin.ClusterResourceAttributesH\x00R\x19\x63lusterResourceAttributes\x12h\n\x1a\x65xecution_queue_attributes\x18\x03 \x01(\x0b\x32(.flyteidl.admin.ExecutionQueueAttributesH\x00R\x18\x65xecutionQueueAttributes\x12_\n\x17\x65xecution_cluster_label\x18\x04 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelH\x00R\x15\x65xecutionClusterLabel\x12O\n\x12quality_of_service\x18\x05 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceH\x00R\x10qualityOfService\x12L\n\x10plugin_overrides\x18\x06 \x01(\x0b\x32\x1f.flyteidl.admin.PluginOverridesH\x00R\x0fpluginOverrides\x12\x65\n\x19workflow_execution_config\x18\x07 \x01(\x0b\x32\'.flyteidl.admin.WorkflowExecutionConfigH\x00R\x17workflowExecutionConfig\x12R\n\x12\x63luster_assignment\x18\x08 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentH\x00R\x11\x63lusterAssignmentB\x08\n\x06target\"\xe7\x01\n MatchableAttributesConfiguration\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\nattributes\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x18\n\x07project\x18\x03 \x01(\tR\x07project\x12\x1a\n\x08workflow\x18\x04 \x01(\tR\x08workflow\x12\x1f\n\x0blaunch_plan\x18\x05 \x01(\tR\nlaunchPlan\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"z\n\x1eListMatchableAttributesRequest\x12\x46\n\rresource_type\x18\x01 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x02 \x01(\tR\x03org\"{\n\x1fListMatchableAttributesResponse\x12X\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x30.flyteidl.admin.MatchableAttributesConfigurationR\x0e\x63onfigurations*\xe0\x01\n\x11MatchableResource\x12\x11\n\rTASK_RESOURCE\x10\x00\x12\x14\n\x10\x43LUSTER_RESOURCE\x10\x01\x12\x13\n\x0f\x45XECUTION_QUEUE\x10\x02\x12\x1b\n\x17\x45XECUTION_CLUSTER_LABEL\x10\x03\x12$\n QUALITY_OF_SERVICE_SPECIFICATION\x10\x04\x12\x13\n\x0fPLUGIN_OVERRIDE\x10\x05\x12\x1d\n\x19WORKFLOW_EXECUTION_CONFIG\x10\x06\x12\x16\n\x12\x43LUSTER_ASSIGNMENT\x10\x07\x42\xc2\x01\n\x12\x63om.flyteidl.adminB\x16MatchableResourceProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'flyteidl/admin/matchable_resource.proto\x12\x0e\x66lyteidl.admin\x1a\x1b\x66lyteidl/admin/common.proto\x1a\'flyteidl/admin/cluster_assignment.proto\x1a\x1d\x66lyteidl/core/execution.proto\x1a\"flyteidl/core/execution_envs.proto\x1a\x1c\x66lyteidl/core/security.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x95\x01\n\x10TaskResourceSpec\x12\x10\n\x03\x63pu\x18\x01 \x01(\tR\x03\x63pu\x12\x10\n\x03gpu\x18\x02 \x01(\tR\x03gpu\x12\x16\n\x06memory\x18\x03 \x01(\tR\x06memory\x12\x18\n\x07storage\x18\x04 \x01(\tR\x07storage\x12+\n\x11\x65phemeral_storage\x18\x05 \x01(\tR\x10\x65phemeralStorage\"\x90\x01\n\x16TaskResourceAttributes\x12<\n\x08\x64\x65\x66\x61ults\x18\x01 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x08\x64\x65\x66\x61ults\x12\x38\n\x06limits\x18\x02 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpecR\x06limits\"\xb5\x01\n\x19\x43lusterResourceAttributes\x12Y\n\nattributes\x18\x01 \x03(\x0b\x32\x39.flyteidl.admin.ClusterResourceAttributes.AttributesEntryR\nattributes\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\".\n\x18\x45xecutionQueueAttributes\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags\"-\n\x15\x45xecutionClusterLabel\x12\x14\n\x05value\x18\x01 \x01(\tR\x05value\"\xec\x01\n\x0ePluginOverride\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12\x1b\n\tplugin_id\x18\x02 \x03(\tR\x08pluginId\x12l\n\x17missing_plugin_behavior\x18\x04 \x01(\x0e\x32\x34.flyteidl.admin.PluginOverride.MissingPluginBehaviorR\x15missingPluginBehavior\"2\n\x15MissingPluginBehavior\x12\x08\n\x04\x46\x41IL\x10\x00\x12\x0f\n\x0bUSE_DEFAULT\x10\x01\"O\n\x0fPluginOverrides\x12<\n\toverrides\x18\x01 \x03(\x0b\x32\x1e.flyteidl.admin.PluginOverrideR\toverrides\"\xce\x04\n\x17WorkflowExecutionConfig\x12\'\n\x0fmax_parallelism\x18\x01 \x01(\x05R\x0emaxParallelism\x12I\n\x10security_context\x18\x02 \x01(\x0b\x32\x1e.flyteidl.core.SecurityContextR\x0fsecurityContext\x12X\n\x16raw_output_data_config\x18\x03 \x01(\x0b\x32#.flyteidl.admin.RawOutputDataConfigR\x13rawOutputDataConfig\x12.\n\x06labels\x18\x04 \x01(\x0b\x32\x16.flyteidl.admin.LabelsR\x06labels\x12=\n\x0b\x61nnotations\x18\x05 \x01(\x0b\x32\x1b.flyteidl.admin.AnnotationsR\x0b\x61nnotations\x12@\n\rinterruptible\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.BoolValueR\rinterruptible\x12\'\n\x0foverwrite_cache\x18\x07 \x01(\x08R\x0eoverwriteCache\x12(\n\x04\x65nvs\x18\x08 \x01(\x0b\x32\x14.flyteidl.admin.EnvsR\x04\x65nvs\x12\x61\n\x19\x65xecution_env_assignments\x18\t \x03(\x0b\x32%.flyteidl.core.ExecutionEnvAssignmentR\x17\x65xecutionEnvAssignments\"\xd6\x01\n\x1a\x45xternalResourceAttributes\x12]\n\x0b\x63onnections\x18\x01 \x03(\x0b\x32;.flyteidl.admin.ExternalResourceAttributes.ConnectionsEntryR\x0b\x63onnections\x1aY\n\x10\x43onnectionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12/\n\x05value\x18\x02 \x01(\x0b\x32\x19.flyteidl.core.ConnectionR\x05value:\x02\x38\x01\"\x84\x07\n\x12MatchingAttributes\x12\x62\n\x18task_resource_attributes\x18\x01 \x01(\x0b\x32&.flyteidl.admin.TaskResourceAttributesH\x00R\x16taskResourceAttributes\x12k\n\x1b\x63luster_resource_attributes\x18\x02 \x01(\x0b\x32).flyteidl.admin.ClusterResourceAttributesH\x00R\x19\x63lusterResourceAttributes\x12h\n\x1a\x65xecution_queue_attributes\x18\x03 \x01(\x0b\x32(.flyteidl.admin.ExecutionQueueAttributesH\x00R\x18\x65xecutionQueueAttributes\x12_\n\x17\x65xecution_cluster_label\x18\x04 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelH\x00R\x15\x65xecutionClusterLabel\x12O\n\x12quality_of_service\x18\x05 \x01(\x0b\x32\x1f.flyteidl.core.QualityOfServiceH\x00R\x10qualityOfService\x12L\n\x10plugin_overrides\x18\x06 \x01(\x0b\x32\x1f.flyteidl.admin.PluginOverridesH\x00R\x0fpluginOverrides\x12\x65\n\x19workflow_execution_config\x18\x07 \x01(\x0b\x32\'.flyteidl.admin.WorkflowExecutionConfigH\x00R\x17workflowExecutionConfig\x12R\n\x12\x63luster_assignment\x18\x08 \x01(\x0b\x32!.flyteidl.admin.ClusterAssignmentH\x00R\x11\x63lusterAssignment\x12n\n\x1c\x65xternal_resource_attributes\x18\t \x01(\x0b\x32*.flyteidl.admin.ExternalResourceAttributesH\x00R\x1a\x65xternalResourceAttributesB\x08\n\x06target\"\xe7\x01\n MatchableAttributesConfiguration\x12\x42\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributesR\nattributes\x12\x16\n\x06\x64omain\x18\x02 \x01(\tR\x06\x64omain\x12\x18\n\x07project\x18\x03 \x01(\tR\x07project\x12\x1a\n\x08workflow\x18\x04 \x01(\tR\x08workflow\x12\x1f\n\x0blaunch_plan\x18\x05 \x01(\tR\nlaunchPlan\x12\x10\n\x03org\x18\x06 \x01(\tR\x03org\"z\n\x1eListMatchableAttributesRequest\x12\x46\n\rresource_type\x18\x01 \x01(\x0e\x32!.flyteidl.admin.MatchableResourceR\x0cresourceType\x12\x10\n\x03org\x18\x02 \x01(\tR\x03org\"{\n\x1fListMatchableAttributesResponse\x12X\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x30.flyteidl.admin.MatchableAttributesConfigurationR\x0e\x63onfigurations*\xf7\x01\n\x11MatchableResource\x12\x11\n\rTASK_RESOURCE\x10\x00\x12\x14\n\x10\x43LUSTER_RESOURCE\x10\x01\x12\x13\n\x0f\x45XECUTION_QUEUE\x10\x02\x12\x1b\n\x17\x45XECUTION_CLUSTER_LABEL\x10\x03\x12$\n QUALITY_OF_SERVICE_SPECIFICATION\x10\x04\x12\x13\n\x0fPLUGIN_OVERRIDE\x10\x05\x12\x1d\n\x19WORKFLOW_EXECUTION_CONFIG\x10\x06\x12\x16\n\x12\x43LUSTER_ASSIGNMENT\x10\x07\x12\x15\n\x11\x45XTERNAL_RESOURCE\x10\x08\x42\xc2\x01\n\x12\x63om.flyteidl.adminB\x16MatchableResourceProtoP\x01Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\xa2\x02\x03\x46\x41X\xaa\x02\x0e\x46lyteidl.Admin\xca\x02\x0e\x46lyteidl\\Admin\xe2\x02\x1a\x46lyteidl\\Admin\\GPBMetadata\xea\x02\x0f\x46lyteidl::Adminb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -30,8 +30,10 @@ DESCRIPTOR._serialized_options = b'\n\022com.flyteidl.adminB\026MatchableResourceProtoP\001Z;github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin\242\002\003FAX\252\002\016Flyteidl.Admin\312\002\016Flyteidl\\Admin\342\002\032Flyteidl\\Admin\\GPBMetadata\352\002\017Flyteidl::Admin' _CLUSTERRESOURCEATTRIBUTES_ATTRIBUTESENTRY._options = None _CLUSTERRESOURCEATTRIBUTES_ATTRIBUTESENTRY._serialized_options = b'8\001' - _globals['_MATCHABLERESOURCE']._serialized_start=3024 - _globals['_MATCHABLERESOURCE']._serialized_end=3248 + _EXTERNALRESOURCEATTRIBUTES_CONNECTIONSENTRY._options = None + _EXTERNALRESOURCEATTRIBUTES_CONNECTIONSENTRY._serialized_options = b'8\001' + _globals['_MATCHABLERESOURCE']._serialized_start=3353 + _globals['_MATCHABLERESOURCE']._serialized_end=3600 _globals['_TASKRESOURCESPEC']._serialized_start=259 _globals['_TASKRESOURCESPEC']._serialized_end=408 _globals['_TASKRESOURCEATTRIBUTES']._serialized_start=411 @@ -52,12 +54,16 @@ _globals['_PLUGINOVERRIDES']._serialized_end=1154 _globals['_WORKFLOWEXECUTIONCONFIG']._serialized_start=1157 _globals['_WORKFLOWEXECUTIONCONFIG']._serialized_end=1747 - _globals['_MATCHINGATTRIBUTES']._serialized_start=1750 - _globals['_MATCHINGATTRIBUTES']._serialized_end=2538 - _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_start=2541 - _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_end=2772 - _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_start=2774 - _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_end=2896 - _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_start=2898 - _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_end=3021 + _globals['_EXTERNALRESOURCEATTRIBUTES']._serialized_start=1750 + _globals['_EXTERNALRESOURCEATTRIBUTES']._serialized_end=1964 + _globals['_EXTERNALRESOURCEATTRIBUTES_CONNECTIONSENTRY']._serialized_start=1875 + _globals['_EXTERNALRESOURCEATTRIBUTES_CONNECTIONSENTRY']._serialized_end=1964 + _globals['_MATCHINGATTRIBUTES']._serialized_start=1967 + _globals['_MATCHINGATTRIBUTES']._serialized_end=2867 + _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_start=2870 + _globals['_MATCHABLEATTRIBUTESCONFIGURATION']._serialized_end=3101 + _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_start=3103 + _globals['_LISTMATCHABLEATTRIBUTESREQUEST']._serialized_end=3225 + _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_start=3227 + _globals['_LISTMATCHABLEATTRIBUTESRESPONSE']._serialized_end=3350 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi index 19c1d598a2..b708c886ce 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.pyi @@ -22,6 +22,7 @@ class MatchableResource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): PLUGIN_OVERRIDE: _ClassVar[MatchableResource] WORKFLOW_EXECUTION_CONFIG: _ClassVar[MatchableResource] CLUSTER_ASSIGNMENT: _ClassVar[MatchableResource] + EXTERNAL_RESOURCE: _ClassVar[MatchableResource] TASK_RESOURCE: MatchableResource CLUSTER_RESOURCE: MatchableResource EXECUTION_QUEUE: MatchableResource @@ -30,6 +31,7 @@ QUALITY_OF_SERVICE_SPECIFICATION: MatchableResource PLUGIN_OVERRIDE: MatchableResource WORKFLOW_EXECUTION_CONFIG: MatchableResource CLUSTER_ASSIGNMENT: MatchableResource +EXTERNAL_RESOURCE: MatchableResource class TaskResourceSpec(_message.Message): __slots__ = ["cpu", "gpu", "memory", "storage", "ephemeral_storage"] @@ -122,8 +124,21 @@ class WorkflowExecutionConfig(_message.Message): execution_env_assignments: _containers.RepeatedCompositeFieldContainer[_execution_envs_pb2.ExecutionEnvAssignment] def __init__(self, max_parallelism: _Optional[int] = ..., security_context: _Optional[_Union[_security_pb2.SecurityContext, _Mapping]] = ..., raw_output_data_config: _Optional[_Union[_common_pb2.RawOutputDataConfig, _Mapping]] = ..., labels: _Optional[_Union[_common_pb2.Labels, _Mapping]] = ..., annotations: _Optional[_Union[_common_pb2.Annotations, _Mapping]] = ..., interruptible: _Optional[_Union[_wrappers_pb2.BoolValue, _Mapping]] = ..., overwrite_cache: bool = ..., envs: _Optional[_Union[_common_pb2.Envs, _Mapping]] = ..., execution_env_assignments: _Optional[_Iterable[_Union[_execution_envs_pb2.ExecutionEnvAssignment, _Mapping]]] = ...) -> None: ... +class ExternalResourceAttributes(_message.Message): + __slots__ = ["connections"] + class ConnectionsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: _security_pb2.Connection + def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[_security_pb2.Connection, _Mapping]] = ...) -> None: ... + CONNECTIONS_FIELD_NUMBER: _ClassVar[int] + connections: _containers.MessageMap[str, _security_pb2.Connection] + def __init__(self, connections: _Optional[_Mapping[str, _security_pb2.Connection]] = ...) -> None: ... + class MatchingAttributes(_message.Message): - __slots__ = ["task_resource_attributes", "cluster_resource_attributes", "execution_queue_attributes", "execution_cluster_label", "quality_of_service", "plugin_overrides", "workflow_execution_config", "cluster_assignment"] + __slots__ = ["task_resource_attributes", "cluster_resource_attributes", "execution_queue_attributes", "execution_cluster_label", "quality_of_service", "plugin_overrides", "workflow_execution_config", "cluster_assignment", "external_resource_attributes"] TASK_RESOURCE_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] CLUSTER_RESOURCE_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] EXECUTION_QUEUE_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] @@ -132,6 +147,7 @@ class MatchingAttributes(_message.Message): PLUGIN_OVERRIDES_FIELD_NUMBER: _ClassVar[int] WORKFLOW_EXECUTION_CONFIG_FIELD_NUMBER: _ClassVar[int] CLUSTER_ASSIGNMENT_FIELD_NUMBER: _ClassVar[int] + EXTERNAL_RESOURCE_ATTRIBUTES_FIELD_NUMBER: _ClassVar[int] task_resource_attributes: TaskResourceAttributes cluster_resource_attributes: ClusterResourceAttributes execution_queue_attributes: ExecutionQueueAttributes @@ -140,7 +156,8 @@ class MatchingAttributes(_message.Message): plugin_overrides: PluginOverrides workflow_execution_config: WorkflowExecutionConfig cluster_assignment: _cluster_assignment_pb2.ClusterAssignment - def __init__(self, task_resource_attributes: _Optional[_Union[TaskResourceAttributes, _Mapping]] = ..., cluster_resource_attributes: _Optional[_Union[ClusterResourceAttributes, _Mapping]] = ..., execution_queue_attributes: _Optional[_Union[ExecutionQueueAttributes, _Mapping]] = ..., execution_cluster_label: _Optional[_Union[ExecutionClusterLabel, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., plugin_overrides: _Optional[_Union[PluginOverrides, _Mapping]] = ..., workflow_execution_config: _Optional[_Union[WorkflowExecutionConfig, _Mapping]] = ..., cluster_assignment: _Optional[_Union[_cluster_assignment_pb2.ClusterAssignment, _Mapping]] = ...) -> None: ... + external_resource_attributes: ExternalResourceAttributes + def __init__(self, task_resource_attributes: _Optional[_Union[TaskResourceAttributes, _Mapping]] = ..., cluster_resource_attributes: _Optional[_Union[ClusterResourceAttributes, _Mapping]] = ..., execution_queue_attributes: _Optional[_Union[ExecutionQueueAttributes, _Mapping]] = ..., execution_cluster_label: _Optional[_Union[ExecutionClusterLabel, _Mapping]] = ..., quality_of_service: _Optional[_Union[_execution_pb2.QualityOfService, _Mapping]] = ..., plugin_overrides: _Optional[_Union[PluginOverrides, _Mapping]] = ..., workflow_execution_config: _Optional[_Union[WorkflowExecutionConfig, _Mapping]] = ..., cluster_assignment: _Optional[_Union[_cluster_assignment_pb2.ClusterAssignment, _Mapping]] = ..., external_resource_attributes: _Optional[_Union[ExternalResourceAttributes, _Mapping]] = ...) -> None: ... class MatchableAttributesConfiguration(_message.Message): __slots__ = ["attributes", "domain", "project", "workflow", "launch_plan", "org"] diff --git a/flyteidl/gen/pb_python/flyteidl/core/security_pb2.py b/flyteidl/gen/pb_python/flyteidl/core/security_pb2.py index 023c8e4aa3..6d88e59a48 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/security_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/core/security_pb2.py @@ -13,7 +13,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/core/security.proto\x12\rflyteidl.core\"\xd0\x01\n\x06Secret\x12\x14\n\x05group\x18\x01 \x01(\tR\x05group\x12#\n\rgroup_version\x18\x02 \x01(\tR\x0cgroupVersion\x12\x10\n\x03key\x18\x03 \x01(\tR\x03key\x12L\n\x11mount_requirement\x18\x04 \x01(\x0e\x32\x1f.flyteidl.core.Secret.MountTypeR\x10mountRequirement\"+\n\tMountType\x12\x07\n\x03\x41NY\x10\x00\x12\x0b\n\x07\x45NV_VAR\x10\x01\x12\x08\n\x04\x46ILE\x10\x02\"g\n\x0cOAuth2Client\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12:\n\rclient_secret\x18\x02 \x01(\x0b\x32\x15.flyteidl.core.SecretR\x0c\x63lientSecret\"\xc6\x01\n\x08Identity\x12\x19\n\x08iam_role\x18\x01 \x01(\tR\x07iamRole\x12.\n\x13k8s_service_account\x18\x02 \x01(\tR\x11k8sServiceAccount\x12@\n\roauth2_client\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.OAuth2ClientR\x0coauth2Client\x12-\n\x12\x65xecution_identity\x18\x04 \x01(\tR\x11\x65xecutionIdentity\"\x96\x02\n\x12OAuth2TokenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x04type\x18\x02 \x01(\x0e\x32&.flyteidl.core.OAuth2TokenRequest.TypeR\x04type\x12\x33\n\x06\x63lient\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.OAuth2ClientR\x06\x63lient\x12\x34\n\x16idp_discovery_endpoint\x18\x04 \x01(\tR\x14idpDiscoveryEndpoint\x12%\n\x0etoken_endpoint\x18\x05 \x01(\tR\rtokenEndpoint\"\x1e\n\x04Type\x12\x16\n\x12\x43LIENT_CREDENTIALS\x10\x00\"\xad\x01\n\x0fSecurityContext\x12.\n\x06run_as\x18\x01 \x01(\x0b\x32\x17.flyteidl.core.IdentityR\x05runAs\x12/\n\x07secrets\x18\x02 \x03(\x0b\x32\x15.flyteidl.core.SecretR\x07secrets\x12\x39\n\x06tokens\x18\x03 \x03(\x0b\x32!.flyteidl.core.OAuth2TokenRequestR\x06tokensB\xb3\x01\n\x11\x63om.flyteidl.coreB\rSecurityProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66lyteidl/core/security.proto\x12\rflyteidl.core\"\xd0\x01\n\x06Secret\x12\x14\n\x05group\x18\x01 \x01(\tR\x05group\x12#\n\rgroup_version\x18\x02 \x01(\tR\x0cgroupVersion\x12\x10\n\x03key\x18\x03 \x01(\tR\x03key\x12L\n\x11mount_requirement\x18\x04 \x01(\x0e\x32\x1f.flyteidl.core.Secret.MountTypeR\x10mountRequirement\"+\n\tMountType\x12\x07\n\x03\x41NY\x10\x00\x12\x0b\n\x07\x45NV_VAR\x10\x01\x12\x08\n\x04\x46ILE\x10\x02\"\xa5\x02\n\nConnection\x12\x1b\n\ttask_type\x18\x01 \x01(\tR\x08taskType\x12@\n\x07secrets\x18\x02 \x03(\x0b\x32&.flyteidl.core.Connection.SecretsEntryR\x07secrets\x12@\n\x07\x63onfigs\x18\x03 \x03(\x0b\x32&.flyteidl.core.Connection.ConfigsEntryR\x07\x63onfigs\x1a:\n\x0cSecretsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a:\n\x0c\x43onfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"g\n\x0cOAuth2Client\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12:\n\rclient_secret\x18\x02 \x01(\x0b\x32\x15.flyteidl.core.SecretR\x0c\x63lientSecret\"\xc6\x01\n\x08Identity\x12\x19\n\x08iam_role\x18\x01 \x01(\tR\x07iamRole\x12.\n\x13k8s_service_account\x18\x02 \x01(\tR\x11k8sServiceAccount\x12@\n\roauth2_client\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.OAuth2ClientR\x0coauth2Client\x12-\n\x12\x65xecution_identity\x18\x04 \x01(\tR\x11\x65xecutionIdentity\"\x96\x02\n\x12OAuth2TokenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x04type\x18\x02 \x01(\x0e\x32&.flyteidl.core.OAuth2TokenRequest.TypeR\x04type\x12\x33\n\x06\x63lient\x18\x03 \x01(\x0b\x32\x1b.flyteidl.core.OAuth2ClientR\x06\x63lient\x12\x34\n\x16idp_discovery_endpoint\x18\x04 \x01(\tR\x14idpDiscoveryEndpoint\x12%\n\x0etoken_endpoint\x18\x05 \x01(\tR\rtokenEndpoint\"\x1e\n\x04Type\x12\x16\n\x12\x43LIENT_CREDENTIALS\x10\x00\"\xd4\x01\n\x0fSecurityContext\x12.\n\x06run_as\x18\x01 \x01(\x0b\x32\x17.flyteidl.core.IdentityR\x05runAs\x12/\n\x07secrets\x18\x02 \x03(\x0b\x32\x15.flyteidl.core.SecretR\x07secrets\x12\x39\n\x06tokens\x18\x03 \x03(\x0b\x32!.flyteidl.core.OAuth2TokenRequestR\x06tokens\x12%\n\x0e\x63onnection_ref\x18\x04 \x01(\tR\rconnectionRefB\xb3\x01\n\x11\x63om.flyteidl.coreB\rSecurityProtoP\x01Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\xa2\x02\x03\x46\x43X\xaa\x02\rFlyteidl.Core\xca\x02\rFlyteidl\\Core\xe2\x02\x19\x46lyteidl\\Core\\GPBMetadata\xea\x02\x0e\x46lyteidl::Coreb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -22,18 +22,28 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\021com.flyteidl.coreB\rSecurityProtoP\001Z:github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core\242\002\003FCX\252\002\rFlyteidl.Core\312\002\rFlyteidl\\Core\342\002\031Flyteidl\\Core\\GPBMetadata\352\002\016Flyteidl::Core' + _CONNECTION_SECRETSENTRY._options = None + _CONNECTION_SECRETSENTRY._serialized_options = b'8\001' + _CONNECTION_CONFIGSENTRY._options = None + _CONNECTION_CONFIGSENTRY._serialized_options = b'8\001' _globals['_SECRET']._serialized_start=48 _globals['_SECRET']._serialized_end=256 _globals['_SECRET_MOUNTTYPE']._serialized_start=213 _globals['_SECRET_MOUNTTYPE']._serialized_end=256 - _globals['_OAUTH2CLIENT']._serialized_start=258 - _globals['_OAUTH2CLIENT']._serialized_end=361 - _globals['_IDENTITY']._serialized_start=364 - _globals['_IDENTITY']._serialized_end=562 - _globals['_OAUTH2TOKENREQUEST']._serialized_start=565 - _globals['_OAUTH2TOKENREQUEST']._serialized_end=843 - _globals['_OAUTH2TOKENREQUEST_TYPE']._serialized_start=813 - _globals['_OAUTH2TOKENREQUEST_TYPE']._serialized_end=843 - _globals['_SECURITYCONTEXT']._serialized_start=846 - _globals['_SECURITYCONTEXT']._serialized_end=1019 + _globals['_CONNECTION']._serialized_start=259 + _globals['_CONNECTION']._serialized_end=552 + _globals['_CONNECTION_SECRETSENTRY']._serialized_start=434 + _globals['_CONNECTION_SECRETSENTRY']._serialized_end=492 + _globals['_CONNECTION_CONFIGSENTRY']._serialized_start=494 + _globals['_CONNECTION_CONFIGSENTRY']._serialized_end=552 + _globals['_OAUTH2CLIENT']._serialized_start=554 + _globals['_OAUTH2CLIENT']._serialized_end=657 + _globals['_IDENTITY']._serialized_start=660 + _globals['_IDENTITY']._serialized_end=858 + _globals['_OAUTH2TOKENREQUEST']._serialized_start=861 + _globals['_OAUTH2TOKENREQUEST']._serialized_end=1139 + _globals['_OAUTH2TOKENREQUEST_TYPE']._serialized_start=1109 + _globals['_OAUTH2TOKENREQUEST_TYPE']._serialized_end=1139 + _globals['_SECURITYCONTEXT']._serialized_start=1142 + _globals['_SECURITYCONTEXT']._serialized_end=1354 # @@protoc_insertion_point(module_scope) diff --git a/flyteidl/gen/pb_python/flyteidl/core/security_pb2.pyi b/flyteidl/gen/pb_python/flyteidl/core/security_pb2.pyi index 028f85204a..23410014d0 100644 --- a/flyteidl/gen/pb_python/flyteidl/core/security_pb2.pyi +++ b/flyteidl/gen/pb_python/flyteidl/core/security_pb2.pyi @@ -26,6 +26,30 @@ class Secret(_message.Message): mount_requirement: Secret.MountType def __init__(self, group: _Optional[str] = ..., group_version: _Optional[str] = ..., key: _Optional[str] = ..., mount_requirement: _Optional[_Union[Secret.MountType, str]] = ...) -> None: ... +class Connection(_message.Message): + __slots__ = ["task_type", "secrets", "configs"] + class SecretsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + class ConfigsEntry(_message.Message): + __slots__ = ["key", "value"] + KEY_FIELD_NUMBER: _ClassVar[int] + VALUE_FIELD_NUMBER: _ClassVar[int] + key: str + value: str + def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ... + TASK_TYPE_FIELD_NUMBER: _ClassVar[int] + SECRETS_FIELD_NUMBER: _ClassVar[int] + CONFIGS_FIELD_NUMBER: _ClassVar[int] + task_type: str + secrets: _containers.ScalarMap[str, str] + configs: _containers.ScalarMap[str, str] + def __init__(self, task_type: _Optional[str] = ..., secrets: _Optional[_Mapping[str, str]] = ..., configs: _Optional[_Mapping[str, str]] = ...) -> None: ... + class OAuth2Client(_message.Message): __slots__ = ["client_id", "client_secret"] CLIENT_ID_FIELD_NUMBER: _ClassVar[int] @@ -65,11 +89,13 @@ class OAuth2TokenRequest(_message.Message): def __init__(self, name: _Optional[str] = ..., type: _Optional[_Union[OAuth2TokenRequest.Type, str]] = ..., client: _Optional[_Union[OAuth2Client, _Mapping]] = ..., idp_discovery_endpoint: _Optional[str] = ..., token_endpoint: _Optional[str] = ...) -> None: ... class SecurityContext(_message.Message): - __slots__ = ["run_as", "secrets", "tokens"] + __slots__ = ["run_as", "secrets", "tokens", "connection_ref"] RUN_AS_FIELD_NUMBER: _ClassVar[int] SECRETS_FIELD_NUMBER: _ClassVar[int] TOKENS_FIELD_NUMBER: _ClassVar[int] + CONNECTION_REF_FIELD_NUMBER: _ClassVar[int] run_as: Identity secrets: _containers.RepeatedCompositeFieldContainer[Secret] tokens: _containers.RepeatedCompositeFieldContainer[OAuth2TokenRequest] - def __init__(self, run_as: _Optional[_Union[Identity, _Mapping]] = ..., secrets: _Optional[_Iterable[_Union[Secret, _Mapping]]] = ..., tokens: _Optional[_Iterable[_Union[OAuth2TokenRequest, _Mapping]]] = ...) -> None: ... + connection_ref: str + def __init__(self, run_as: _Optional[_Union[Identity, _Mapping]] = ..., secrets: _Optional[_Iterable[_Union[Secret, _Mapping]]] = ..., tokens: _Optional[_Iterable[_Union[OAuth2TokenRequest, _Mapping]]] = ..., connection_ref: _Optional[str] = ...) -> None: ... diff --git a/flyteidl/gen/pb_rust/flyteidl.admin.rs b/flyteidl/gen/pb_rust/flyteidl.admin.rs index a0b650d85d..46d87ac861 100644 --- a/flyteidl/gen/pb_rust/flyteidl.admin.rs +++ b/flyteidl/gen/pb_rust/flyteidl.admin.rs @@ -61,6 +61,11 @@ pub struct CreateTaskRequest { /// subset of runtime task execution metadata. #[prost(message, optional, tag="4")] pub task_execution_metadata: ::core::option::Option, + /// Connection (secret and config) required by the agent. + /// Agent will use the secret and config in the taskTemplate if it's None. + /// +optional + #[prost(message, optional, tag="5")] + pub connection: ::core::option::Option, } /// Represents a create response structure. #[allow(clippy::derive_partial_eq_without_eq)] @@ -85,6 +90,11 @@ pub struct CreateRequestHeader { /// MaxDatasetSizeBytes is the maximum size of the dataset that can be generated by the task. #[prost(int64, tag="4")] pub max_dataset_size_bytes: i64, + /// Connection (secret and config) required by the agent. + /// Agent will use the secret and config in the taskTemplate if it's None. + /// +optional + #[prost(message, optional, tag="5")] + pub connection: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -144,6 +154,11 @@ pub struct GetTaskRequest { /// A predefined yet extensible Task type identifier. #[prost(message, optional, tag="3")] pub task_category: ::core::option::Option, + /// Connection (secret and config) required by the agent. + /// Agent will use the secret and config in the taskTemplate if it's None. + /// +optional + #[prost(message, optional, tag="5")] + pub connection: ::core::option::Option, } /// Response to get an individual task resource. #[allow(clippy::derive_partial_eq_without_eq)] @@ -191,6 +206,11 @@ pub struct DeleteTaskRequest { /// A predefined yet extensible Task type identifier. #[prost(message, optional, tag="3")] pub task_category: ::core::option::Option, + /// Connection (secret and config) required by the agent. + /// Agent will use the secret and config in the taskTemplate if it's None. + /// +optional + #[prost(message, optional, tag="5")] + pub connection: ::core::option::Option, } /// Response to delete a task. #[allow(clippy::derive_partial_eq_without_eq)] @@ -1175,11 +1195,20 @@ pub struct WorkflowExecutionConfig { #[prost(message, repeated, tag="9")] pub execution_env_assignments: ::prost::alloc::vec::Vec, } +/// ExternalResourceAttributes is a message that encapsulates all the attributes +/// that are required to connect to external resources or services. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExternalResourceAttributes { + /// Connections here is used by the agent to connect to external systems. + #[prost(map="string, message", tag="1")] + pub connections: ::std::collections::HashMap<::prost::alloc::string::String, super::core::Connection>, +} /// Generic container for encapsulating all types of the above attributes messages. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MatchingAttributes { - #[prost(oneof="matching_attributes::Target", tags="1, 2, 3, 4, 5, 6, 7, 8")] + #[prost(oneof="matching_attributes::Target", tags="1, 2, 3, 4, 5, 6, 7, 8, 9")] pub target: ::core::option::Option, } /// Nested message and enum types in `MatchingAttributes`. @@ -1203,6 +1232,8 @@ pub mod matching_attributes { WorkflowExecutionConfig(super::WorkflowExecutionConfig), #[prost(message, tag="8")] ClusterAssignment(super::ClusterAssignment), + #[prost(message, tag="9")] + ExternalResourceAttributes(super::ExternalResourceAttributes), } } /// Represents a custom set of attributes applied for either a domain (and optional org); a domain and project (and optional org); @@ -1267,6 +1298,8 @@ pub enum MatchableResource { WorkflowExecutionConfig = 6, /// Controls how to select an available cluster on which this execution should run. ClusterAssignment = 7, + /// Configures the task connection to be used by the agent to connect to external systems. + ExternalResource = 8, } impl MatchableResource { /// String value of the enum field names used in the ProtoBuf definition. @@ -1283,6 +1316,7 @@ impl MatchableResource { MatchableResource::PluginOverride => "PLUGIN_OVERRIDE", MatchableResource::WorkflowExecutionConfig => "WORKFLOW_EXECUTION_CONFIG", MatchableResource::ClusterAssignment => "CLUSTER_ASSIGNMENT", + MatchableResource::ExternalResource => "EXTERNAL_RESOURCE", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -1296,6 +1330,7 @@ impl MatchableResource { "PLUGIN_OVERRIDE" => Some(Self::PluginOverride), "WORKFLOW_EXECUTION_CONFIG" => Some(Self::WorkflowExecutionConfig), "CLUSTER_ASSIGNMENT" => Some(Self::ClusterAssignment), + "EXTERNAL_RESOURCE" => Some(Self::ExternalResource), _ => None, } } @@ -1682,6 +1717,9 @@ pub struct ExecutionSpec { /// Execution environment assignments to be set for the execution. #[prost(message, repeated, tag="26")] pub execution_env_assignments: ::prost::alloc::vec::Vec, + /// The connection to use for the execution. + #[prost(message, optional, tag="27")] + pub external_resource_attributes: ::core::option::Option, #[prost(oneof="execution_spec::NotificationOverrides", tags="5, 6")] pub notification_overrides: ::core::option::Option, } diff --git a/flyteidl/gen/pb_rust/flyteidl.core.rs b/flyteidl/gen/pb_rust/flyteidl.core.rs index f1d873d65d..2edabf0941 100644 --- a/flyteidl/gen/pb_rust/flyteidl.core.rs +++ b/flyteidl/gen/pb_rust/flyteidl.core.rs @@ -1060,6 +1060,22 @@ pub mod secret { } } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Connection { + /// The task type that the connection is used for. + #[prost(string, tag="1")] + pub task_type: ::prost::alloc::string::String, + /// The credentials to use for the connection, such as API keys, OAuth2 tokens, etc. + /// The key is the name of the secret, and it's defined in the flytekit. + /// flytekit uses the key to locate the desired secret within the map. + #[prost(map="string, string", tag="2")] + pub secrets: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, + /// The configuration to use for the connection, such as the endpoint, account name, etc. + /// The key is the name of the config, and it's defined in the flytekit. + #[prost(map="string, string", tag="3")] + pub configs: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, +} /// OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -1173,6 +1189,15 @@ pub struct SecurityContext { /// to the secret) and to pass it to the remote execution engine. #[prost(message, repeated, tag="3")] pub tokens: ::prost::alloc::vec::Vec, + /// The name of the connection. + /// The connection is defined in the externalResourceAttributes or flyteadmin configmap. + /// The connection config take precedence in the following order: + /// 1. connection in the externalResourceAttributes in the project-domain settings. + /// 2. connection in the externalResourceAttributes in the project settings. + /// 3. connection in the flyteadmin configmap. + /// +optional + #[prost(string, tag="4")] + pub connection_ref: ::prost::alloc::string::String, } /// A customizable interface to convey resources requested for a container. This can be interpreted differently for different /// container engines. diff --git a/flyteidl/protos/flyteidl/admin/agent.proto b/flyteidl/protos/flyteidl/admin/agent.proto index 931c27785f..b0cff05ab9 100644 --- a/flyteidl/protos/flyteidl/admin/agent.proto +++ b/flyteidl/protos/flyteidl/admin/agent.proto @@ -68,6 +68,10 @@ message CreateTaskRequest { string output_prefix = 3; // subset of runtime task execution metadata. TaskExecutionMetadata task_execution_metadata = 4; + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + core.Connection connection = 5; } // Represents a create response structure. @@ -85,6 +89,10 @@ message CreateRequestHeader { TaskExecutionMetadata task_execution_metadata = 3; // MaxDatasetSizeBytes is the maximum size of the dataset that can be generated by the task. int64 max_dataset_size_bytes = 4; + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + core.Connection connection = 5; } @@ -116,6 +124,10 @@ message GetTaskRequest { bytes resource_meta = 2; // A predefined yet extensible Task type identifier. TaskCategory task_category = 3; + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + core.Connection connection = 5; } // Response to get an individual task resource. @@ -148,6 +160,10 @@ message DeleteTaskRequest { bytes resource_meta = 2; // A predefined yet extensible Task type identifier. TaskCategory task_category = 3; + // Connection (secret and config) required by the agent. + // Agent will use the secret and config in the taskTemplate if it's None. + // +optional + core.Connection connection = 5; } // Response to delete a task. diff --git a/flyteidl/protos/flyteidl/admin/execution.proto b/flyteidl/protos/flyteidl/admin/execution.proto index 6197576bd9..af5e20353b 100644 --- a/flyteidl/protos/flyteidl/admin/execution.proto +++ b/flyteidl/protos/flyteidl/admin/execution.proto @@ -338,6 +338,9 @@ message ExecutionSpec { // Execution environment assignments to be set for the execution. repeated core.ExecutionEnvAssignment execution_env_assignments = 26; + + // The connection to use for the execution. + ExternalResourceAttributes external_resource_attributes = 27; } // Request to terminate an in-progress execution. This action is irreversible. diff --git a/flyteidl/protos/flyteidl/admin/matchable_resource.proto b/flyteidl/protos/flyteidl/admin/matchable_resource.proto index 812d75fe4b..37f54d22d6 100644 --- a/flyteidl/protos/flyteidl/admin/matchable_resource.proto +++ b/flyteidl/protos/flyteidl/admin/matchable_resource.proto @@ -36,6 +36,9 @@ enum MatchableResource { // Controls how to select an available cluster on which this execution should run. CLUSTER_ASSIGNMENT = 7; + + // Configures the task connection to be used by the agent to connect to external systems. + EXTERNAL_RESOURCE = 8; } // Defines a set of overridable task resource attributes set during task registration. @@ -137,6 +140,13 @@ message WorkflowExecutionConfig { repeated core.ExecutionEnvAssignment execution_env_assignments = 9; } +// ExternalResourceAttributes is a message that encapsulates all the attributes +// that are required to connect to external resources or services. +message ExternalResourceAttributes { + // Connections here is used by the agent to connect to external systems. + map connections = 1; +} + // Generic container for encapsulating all types of the above attributes messages. message MatchingAttributes { oneof target { @@ -155,6 +165,8 @@ message MatchingAttributes { WorkflowExecutionConfig workflow_execution_config = 7; ClusterAssignment cluster_assignment = 8; + + ExternalResourceAttributes external_resource_attributes = 9; } } diff --git a/flyteidl/protos/flyteidl/core/security.proto b/flyteidl/protos/flyteidl/core/security.proto index 3aba017476..cc1d3c6084 100644 --- a/flyteidl/protos/flyteidl/core/security.proto +++ b/flyteidl/protos/flyteidl/core/security.proto @@ -45,6 +45,19 @@ message Secret { MountType mount_requirement = 4; } +message Connection { + // The task type that the connection is used for. + string task_type = 1; + // The credentials to use for the connection, such as API keys, OAuth2 tokens, etc. + // The key is the name of the secret, and it's defined in the flytekit. + // flytekit uses the key to locate the desired secret within the map. + map secrets = 2; + + // The configuration to use for the connection, such as the endpoint, account name, etc. + // The key is the name of the config, and it's defined in the flytekit. + map configs = 3; +} + // OAuth2Client encapsulates OAuth2 Client Credentials to be used when making calls on behalf of that task. message OAuth2Client { // client_id is the public id for the client to use. The system will not perform any pre-auth validation that the @@ -127,4 +140,13 @@ message SecurityContext { // Batch), it's the responsibility of the plugin to fetch the secret (which means propeller identity will need access // to the secret) and to pass it to the remote execution engine. repeated OAuth2TokenRequest tokens = 3; + + // The name of the connection. + // The connection is defined in the externalResourceAttributes or flyteadmin configmap. + // The connection config take precedence in the following order: + // 1. connection in the externalResourceAttributes in the project-domain settings. + // 2. connection in the externalResourceAttributes in the project settings. + // 3. connection in the flyteadmin configmap. + // +optional + string connection_ref = 4; } diff --git a/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go b/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go index 5969d44661..7989e31369 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/exec_metadata.go @@ -5,6 +5,7 @@ import ( v12 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" ) @@ -53,5 +54,10 @@ type TaskExecutionMetadata interface { GetPlatformResources() *v1.ResourceRequirements GetInterruptibleFailureThreshold() int32 GetEnvironmentVariables() map[string]string +<<<<<<< HEAD + GetExternalResourceAttributes() *admin.ExternalResourceAttributes +||||||| 4dd5f3c27 +======= GetConsoleURL() string +>>>>>>> ce5eb03a926b8a4da57fa9d6ffb98f8d768e37b8 } diff --git a/flyteplugins/go/tasks/pluginmachinery/core/mocks/secret_manager.go b/flyteplugins/go/tasks/pluginmachinery/core/mocks/secret_manager.go index 9b882aaf26..3962c6fb60 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/mocks/secret_manager.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/mocks/secret_manager.go @@ -5,6 +5,8 @@ package mocks import ( context "context" + flyteidlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" + mock "github.com/stretchr/testify/mock" ) @@ -51,3 +53,42 @@ func (_m *SecretManager) Get(ctx context.Context, key string) (string, error) { return r0, r1 } + +type SecretManager_GetForSecret struct { + *mock.Call +} + +func (_m SecretManager_GetForSecret) Return(_a0 string, _a1 error) *SecretManager_GetForSecret { + return &SecretManager_GetForSecret{Call: _m.Call.Return(_a0, _a1)} +} + +func (_m *SecretManager) OnGetForSecret(ctx context.Context, secret *flyteidlcore.Secret) *SecretManager_GetForSecret { + c_call := _m.On("GetForSecret", ctx, secret) + return &SecretManager_GetForSecret{Call: c_call} +} + +func (_m *SecretManager) OnGetForSecretMatch(matchers ...interface{}) *SecretManager_GetForSecret { + c_call := _m.On("GetForSecret", matchers...) + return &SecretManager_GetForSecret{Call: c_call} +} + +// GetForSecret provides a mock function with given fields: ctx, secret +func (_m *SecretManager) GetForSecret(ctx context.Context, secret *flyteidlcore.Secret) (string, error) { + ret := _m.Called(ctx, secret) + + var r0 string + if rf, ok := ret.Get(0).(func(context.Context, *flyteidlcore.Secret) string); ok { + r0 = rf(ctx, secret) + } else { + r0 = ret.Get(0).(string) + } + + var r1 error + if rf, ok := ret.Get(1).(func(context.Context, *flyteidlcore.Secret) error); ok { + r1 = rf(ctx, secret) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} diff --git a/flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_metadata.go b/flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_metadata.go index 433816f89c..fa907873d4 100644 --- a/flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_metadata.go +++ b/flyteplugins/go/tasks/pluginmachinery/core/mocks/task_execution_metadata.go @@ -3,7 +3,9 @@ package mocks import ( + admin "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" core "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" + corev1 "k8s.io/api/core/v1" flyteidlcore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" @@ -120,6 +122,40 @@ func (_m *TaskExecutionMetadata) GetEnvironmentVariables() map[string]string { return r0 } +type TaskExecutionMetadata_GetExternalResourceAttributes struct { + *mock.Call +} + +func (_m TaskExecutionMetadata_GetExternalResourceAttributes) Return(_a0 *admin.ExternalResourceAttributes) *TaskExecutionMetadata_GetExternalResourceAttributes { + return &TaskExecutionMetadata_GetExternalResourceAttributes{Call: _m.Call.Return(_a0)} +} + +func (_m *TaskExecutionMetadata) OnGetExternalResourceAttributes() *TaskExecutionMetadata_GetExternalResourceAttributes { + c_call := _m.On("GetExternalResourceAttributes") + return &TaskExecutionMetadata_GetExternalResourceAttributes{Call: c_call} +} + +func (_m *TaskExecutionMetadata) OnGetExternalResourceAttributesMatch(matchers ...interface{}) *TaskExecutionMetadata_GetExternalResourceAttributes { + c_call := _m.On("GetExternalResourceAttributes", matchers...) + return &TaskExecutionMetadata_GetExternalResourceAttributes{Call: c_call} +} + +// GetExternalResourceAttributes provides a mock function with given fields: +func (_m *TaskExecutionMetadata) GetExternalResourceAttributes() *admin.ExternalResourceAttributes { + ret := _m.Called() + + var r0 *admin.ExternalResourceAttributes + if rf, ok := ret.Get(0).(func() *admin.ExternalResourceAttributes); ok { + r0 = rf() + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*admin.ExternalResourceAttributes) + } + } + + return r0 +} + type TaskExecutionMetadata_GetInterruptibleFailureThreshold struct { *mock.Call } diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go b/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go index f3e626524c..1ba8f330f1 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/integration_test.go @@ -95,19 +95,27 @@ func TestEndToEnd(t *testing.T) { plugin, err := pluginEntry.LoadPlugin(context.TODO(), newFakeSetupContext("sync task")) assert.NoError(t, err) - template.Type = "openai" - template.Interface = &flyteIdlCore.TypedInterface{ - Outputs: &flyteIdlCore.VariableMap{ - Variables: map[string]*flyteIdlCore.Variable{ - "x": {Type: &flyteIdlCore.LiteralType{ - Type: &flyteIdlCore.LiteralType_Simple{ - Simple: flyteIdlCore.SimpleType_INTEGER, + template := flyteIdlCore.TaskTemplate{ + Type: "openai", + Custom: st, + Target: &flyteIdlCore.TaskTemplate_Container{ + Container: &flyteIdlCore.Container{Args: []string{"pyflyte-fast-execute", "--output-prefix", "/tmp/123"}}, + }, + Interface: &flyteIdlCore.TypedInterface{ + Outputs: &flyteIdlCore.VariableMap{ + Variables: map[string]*flyteIdlCore.Variable{ + "x": {Type: &flyteIdlCore.LiteralType{ + Type: &flyteIdlCore.LiteralType_Simple{ + Simple: flyteIdlCore.SimpleType_INTEGER, + }, + }, }, - }, }, }, }, + SecurityContext: &flyteIdlCore.SecurityContext{ConnectionRef: "openai"}, } + expectedOutputs, err := coreutils.MakeLiteralMap(map[string]interface{}{"x": 1}) assert.NoError(t, err) phase := tests.RunPluginEndToEndTest(t, plugin, &template, inputs, expectedOutputs, nil, iter) diff --git a/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go b/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go index 5470247ab7..fa7eea3e13 100644 --- a/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go +++ b/flyteplugins/go/tasks/plugins/webapi/agent/plugin.go @@ -67,6 +67,7 @@ type ResourceMetaWrapper struct { OutputPrefix string AgentResourceMeta []byte TaskCategory admin.TaskCategory + Connection flyteIdl.Connection } func (p Plugin) GetConfig() webapi.PluginConfig { @@ -82,6 +83,7 @@ func (p Plugin) ResourceRequirements(_ context.Context, _ webapi.TaskExecutionCo func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextReader) (webapi.ResourceMeta, webapi.Resource, error) { + taskTemplate, err := taskCtx.TaskReader().Read(ctx) if err != nil { return nil, nil, err @@ -115,6 +117,24 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR taskCategory := admin.TaskCategory{Name: taskTemplate.Type, Version: taskTemplate.TaskTypeVersion} agent, isSync := getFinalAgent(&taskCategory, p.cfg) + connection := flyteIdl.Connection{} + if taskTemplate.SecurityContext != nil && taskTemplate.SecurityContext.GetConnectionRef() != "" { + conn, ok := taskCtx.TaskExecutionMetadata().GetExternalResourceAttributes().GetConnections()[taskTemplate.SecurityContext.GetConnectionRef()] + if ok { + for k, v := range conn.GetSecrets() { + secretVal, err := taskCtx.SecretManager().Get(ctx, v) + if err != nil { + logger.Errorf(ctx, "Failed to get secret with error: %v", err) + return nil, nil, err + } + conn.Secrets[k] = secretVal + } + } else { + return nil, nil, fmt.Errorf("connection [%s] not found in the task execution metadata", taskTemplate.SecurityContext.GetConnectionRef()) + } + connection = *conn + } + taskExecutionMetadata := buildTaskExecutionMetadata(taskCtx.TaskExecutionMetadata()) if isSync { @@ -124,7 +144,12 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR if err != nil { return nil, nil, err } - header := &admin.CreateRequestHeader{Template: taskTemplate, OutputPrefix: outputPrefix, TaskExecutionMetadata: &taskExecutionMetadata} + header := &admin.CreateRequestHeader{ + Template: taskTemplate, + OutputPrefix: outputPrefix, + TaskExecutionMetadata: &taskExecutionMetadata, + Connection: &connection, + } return p.ExecuteTaskSync(finalCtx, client, header, inputs) } @@ -136,7 +161,13 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR if err != nil { return nil, nil, err } - request := &admin.CreateTaskRequest{Inputs: inputs, Template: taskTemplate, OutputPrefix: outputPrefix, TaskExecutionMetadata: &taskExecutionMetadata} + request := &admin.CreateTaskRequest{ + Inputs: inputs, + Template: taskTemplate, + OutputPrefix: outputPrefix, + TaskExecutionMetadata: &taskExecutionMetadata, + Connection: &connection, + } res, err := client.CreateTask(finalCtx, request) if err != nil { return nil, nil, err @@ -146,6 +177,7 @@ func (p Plugin) Create(ctx context.Context, taskCtx webapi.TaskExecutionContextR OutputPrefix: outputPrefix, AgentResourceMeta: res.GetResourceMeta(), TaskCategory: taskCategory, + Connection: connection, }, nil, nil } @@ -221,6 +253,7 @@ func (p Plugin) Get(ctx context.Context, taskCtx webapi.GetContext) (latest weba TaskType: metadata.TaskCategory.Name, TaskCategory: &metadata.TaskCategory, ResourceMeta: metadata.AgentResourceMeta, + Connection: &metadata.Connection, } res, err := client.GetTask(finalCtx, request) if err != nil { @@ -254,6 +287,7 @@ func (p Plugin) Delete(ctx context.Context, taskCtx webapi.DeleteContext) error TaskType: metadata.TaskCategory.Name, TaskCategory: &metadata.TaskCategory, ResourceMeta: metadata.AgentResourceMeta, + Connection: &metadata.Connection, } _, err = client.DeleteTask(finalCtx, request) return err diff --git a/flyteplugins/tests/end_to_end.go b/flyteplugins/tests/end_to_end.go index b045deae13..0904104c72 100644 --- a/flyteplugins/tests/end_to_end.go +++ b/flyteplugins/tests/end_to_end.go @@ -19,6 +19,7 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/rand" + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" idlCore "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/catalog" catalogMocks "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/catalog/mocks" @@ -171,6 +172,12 @@ func RunPluginEndToEndTest(t *testing.T, executor pluginCore.Plugin, template *i tMeta.OnGetPlatformResources().Return(&v1.ResourceRequirements{}) tMeta.OnGetInterruptibleFailureThreshold().Return(2) tMeta.OnGetEnvironmentVariables().Return(nil) + tMeta.OnGetExternalResourceAttributes().Return(&admin.ExternalResourceAttributes{Connections: map[string]*idlCore.Connection{ + "openai": { + Secrets: map[string]string{"key": "value"}, + Configs: map[string]string{"key": "value"}, + }, + }}) tMeta.OnGetConsoleURL().Return("") catClient := &catalogMocks.Client{} diff --git a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/execution_config.go b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/execution_config.go index 30cd9fa0de..4f929900f2 100644 --- a/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/execution_config.go +++ b/flytepropeller/pkg/apis/flyteworkflow/v1alpha1/execution_config.go @@ -35,6 +35,8 @@ type ExecutionConfig struct { OverwriteCache bool // Defines a map of environment variable name / value pairs that are applied to all tasks. EnvironmentVariables map[string]string + // Defines a list of connections config that used to connect to the external services. + ExternalResourceAttribute ExternalResourceAttributes } type TaskPluginOverride struct { @@ -59,3 +61,17 @@ type TaskResources struct { // A hard limit, a task cannot consume resources greater than the limit specifies. Limits TaskResourceSpec } + +type Connection struct { + // Defines a map of secrets that are used to connect to the external services. + // The key is the name of the secret, such as openai_api_key, databricks_access_token, etc. + // The value is the name of the k8s or aws secret. + Secrets map[string]string + // Defines a map of configs that are used to connect to the external services, such as organization_id, workspace_id, etc. + Configs map[string]string +} + +type ExternalResourceAttributes struct { + // Defines a map of connections that are used to connect to the external services. + Connections map[string]Connection +} diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf_crd.json index 5112bec253..39a3af647e 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/002_core.containerization.multi_images.my_workflow_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-containerization-multi-images-my-workflow"}},"spec":{"id":"::core.containerization.multi_images.my_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"svm_trainer","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.multi_images.svm_trainer\""},"n1":{"id":"n1","name":"svm_predictor","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.multi_images.svm_predictor\"","inputBindings":[{"var":"X_test","binding":{"promise":{"nodeId":"n0","var":"test_features"}}},{"var":"X_train","binding":{"promise":{"nodeId":"n0","var":"train_features"}}},{"var":"y_test","binding":{"promise":{"nodeId":"n0","var":"test_labels"}}},{"var":"y_train","binding":{"promise":{"nodeId":"n0","var":"train_labels"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.containerization.multi_images.svm_predictor\"":{"id":{"resourceType":"TASK","name":"core.containerization.multi_images.svm_predictor"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"X_test":{"type":{"structuredDatasetType":{"format":"parquet"}}},"X_train":{"type":{"structuredDatasetType":{"format":"parquet"}}},"y_test":{"type":{"structuredDatasetType":{"format":"parquet"}}},"y_train":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:multi-image-predict-98b125fd57d20594026941c2ebe7ef662e5acb7d6423660a65f493ca2d9aa267","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.multi_images","task-name","svm_predictor"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.containerization.multi_images.svm_trainer\"":{"id":{"resourceType":"TASK","name":"core.containerization.multi_images.svm_trainer"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"test_features":{"type":{"structuredDatasetType":{"format":"parquet"}}},"test_labels":{"type":{"structuredDatasetType":{"format":"parquet"}}},"train_features":{"type":{"structuredDatasetType":{"format":"parquet"}}},"train_labels":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-with-sklearn-baa17ccf39aa667c5950bd713a4366ce7d5fccaf7f85e6be8c07fe4b522f92c3","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.multi_images","task-name","svm_trainer"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-containerization-multi-images-my-workflow"}},"spec":{"id":"::core.containerization.multi_images.my_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"svm_trainer","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.multi_images.svm_trainer\""},"n1":{"id":"n1","name":"svm_predictor","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.multi_images.svm_predictor\"","inputBindings":[{"var":"X_test","binding":{"promise":{"nodeId":"n0","var":"test_features"}}},{"var":"X_train","binding":{"promise":{"nodeId":"n0","var":"train_features"}}},{"var":"y_test","binding":{"promise":{"nodeId":"n0","var":"test_labels"}}},{"var":"y_train","binding":{"promise":{"nodeId":"n0","var":"train_labels"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.containerization.multi_images.svm_predictor\"":{"id":{"resourceType":"TASK","name":"core.containerization.multi_images.svm_predictor"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"X_test":{"type":{"structuredDatasetType":{"format":"parquet"}}},"X_train":{"type":{"structuredDatasetType":{"format":"parquet"}}},"y_test":{"type":{"structuredDatasetType":{"format":"parquet"}}},"y_train":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:multi-image-predict-98b125fd57d20594026941c2ebe7ef662e5acb7d6423660a65f493ca2d9aa267","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.multi_images","task-name","svm_predictor"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.containerization.multi_images.svm_trainer\"":{"id":{"resourceType":"TASK","name":"core.containerization.multi_images.svm_trainer"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"test_features":{"type":{"structuredDatasetType":{"format":"parquet"}}},"test_labels":{"type":{"structuredDatasetType":{"format":"parquet"}}},"train_features":{"type":{"structuredDatasetType":{"format":"parquet"}}},"train_labels":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-with-sklearn-baa17ccf39aa667c5950bd713a4366ce7d5fccaf7f85e6be8c07fe4b522f92c3","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.multi_images","task-name","svm_trainer"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf_crd.json index 66b8fe8ca4..202930f475 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/010_core.containerization.raw_container.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-containerization-raw-container-wf"}},"spec":{"id":"::core.containerization.raw_container.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"ellipse-area-metadata-shell","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-shell\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n1":{"id":"n1","name":"ellipse-area-metadata-python","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-python\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n2":{"id":"n2","name":"ellipse-area-metadata-r","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-r\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n3":{"id":"n3","name":"ellipse-area-metadata-haskell","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-haskell\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n4":{"id":"n4","name":"ellipse-area-metadata-julia","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-julia\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n5":{"id":"n5","name":"report_all_calculated_areas","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.raw_container.report_all_calculated_areas\"","inputBindings":[{"var":"area_haskell","binding":{"promise":{"nodeId":"n3","var":"area"}}},{"var":"area_julia","binding":{"promise":{"nodeId":"n4","var":"area"}}},{"var":"area_python","binding":{"promise":{"nodeId":"n1","var":"area"}}},{"var":"area_r","binding":{"promise":{"nodeId":"n2","var":"area"}}},{"var":"area_shell","binding":{"promise":{"nodeId":"n0","var":"area"}}},{"var":"metadata_haskell","binding":{"promise":{"nodeId":"n3","var":"metadata"}}},{"var":"metadata_julia","binding":{"promise":{"nodeId":"n4","var":"metadata"}}},{"var":"metadata_python","binding":{"promise":{"nodeId":"n1","var":"metadata"}}},{"var":"metadata_r","binding":{"promise":{"nodeId":"n2","var":"metadata"}}},{"var":"metadata_shell","binding":{"promise":{"nodeId":"n0","var":"metadata"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n5"],"n1":["n5"],"n2":["n5"],"n3":["n5"],"n4":["n5"],"n5":["end-node"],"start-node":["n0","n1","n2","n3","n4"]},"edges":{"downstream":{"n0":["n5"],"n1":["n5"],"n2":["n5"],"n3":["n5"],"n4":["n5"],"n5":["end-node"],"start-node":["n0","n1","n2","n3","n4"]},"upstream":{"end-node":["n5"],"n0":["start-node"],"n1":["start-node"],"n2":["start-node"],"n3":["start-node"],"n4":["start-node"],"n5":["n0","n1","n2","n3","n4"]}},"outputs":{}},"inputs":{"literals":{"a":{"scalar":{"primitive":{"floatValue":0}}},"b":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.containerization.raw_container.report_all_calculated_areas\"":{"id":{"resourceType":"TASK","name":"core.containerization.raw_container.report_all_calculated_areas"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"area_haskell":{"type":{"simple":"FLOAT"}},"area_julia":{"type":{"simple":"FLOAT"}},"area_python":{"type":{"simple":"FLOAT"}},"area_r":{"type":{"simple":"FLOAT"}},"area_shell":{"type":{"simple":"FLOAT"}},"metadata_haskell":{"type":{"simple":"STRING"}},"metadata_julia":{"type":{"simple":"STRING"}},"metadata_python":{"type":{"simple":"STRING"}},"metadata_r":{"type":{"simple":"STRING"}},"metadata_shell":{"type":{"simple":"STRING"}}}},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.raw_container","task-name","report_all_calculated_areas"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"ellipse-area-metadata-haskell\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-haskell"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-haskell:v1","command":["./calculate-ellipse-area","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-julia\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-julia"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-julia:v1","command":["julia","calculate-ellipse-area.jl","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-python\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-python"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-python:v1","command":["python","calculate-ellipse-area.py","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-r\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-r"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-r:v1","command":["Rscript","--vanilla","calculate-ellipse-area.R","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-shell\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-shell"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-shell:v1","command":["./calculate-ellipse-area.sh","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-containerization-raw-container-wf"}},"spec":{"id":"::core.containerization.raw_container.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"ellipse-area-metadata-shell","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-shell\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n1":{"id":"n1","name":"ellipse-area-metadata-python","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-python\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n2":{"id":"n2","name":"ellipse-area-metadata-r","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-r\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n3":{"id":"n3","name":"ellipse-area-metadata-haskell","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-haskell\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n4":{"id":"n4","name":"ellipse-area-metadata-julia","resources":{},"kind":"task","task":"resource_type:TASK name:\"ellipse-area-metadata-julia\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n5":{"id":"n5","name":"report_all_calculated_areas","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.raw_container.report_all_calculated_areas\"","inputBindings":[{"var":"area_haskell","binding":{"promise":{"nodeId":"n3","var":"area"}}},{"var":"area_julia","binding":{"promise":{"nodeId":"n4","var":"area"}}},{"var":"area_python","binding":{"promise":{"nodeId":"n1","var":"area"}}},{"var":"area_r","binding":{"promise":{"nodeId":"n2","var":"area"}}},{"var":"area_shell","binding":{"promise":{"nodeId":"n0","var":"area"}}},{"var":"metadata_haskell","binding":{"promise":{"nodeId":"n3","var":"metadata"}}},{"var":"metadata_julia","binding":{"promise":{"nodeId":"n4","var":"metadata"}}},{"var":"metadata_python","binding":{"promise":{"nodeId":"n1","var":"metadata"}}},{"var":"metadata_r","binding":{"promise":{"nodeId":"n2","var":"metadata"}}},{"var":"metadata_shell","binding":{"promise":{"nodeId":"n0","var":"metadata"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n5"],"n1":["n5"],"n2":["n5"],"n3":["n5"],"n4":["n5"],"n5":["end-node"],"start-node":["n0","n1","n2","n3","n4"]},"edges":{"downstream":{"n0":["n5"],"n1":["n5"],"n2":["n5"],"n3":["n5"],"n4":["n5"],"n5":["end-node"],"start-node":["n0","n1","n2","n3","n4"]},"upstream":{"end-node":["n5"],"n0":["start-node"],"n1":["start-node"],"n2":["start-node"],"n3":["start-node"],"n4":["start-node"],"n5":["n0","n1","n2","n3","n4"]}},"outputs":{}},"inputs":{"literals":{"a":{"scalar":{"primitive":{"floatValue":0}}},"b":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.containerization.raw_container.report_all_calculated_areas\"":{"id":{"resourceType":"TASK","name":"core.containerization.raw_container.report_all_calculated_areas"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"area_haskell":{"type":{"simple":"FLOAT"}},"area_julia":{"type":{"simple":"FLOAT"}},"area_python":{"type":{"simple":"FLOAT"}},"area_r":{"type":{"simple":"FLOAT"}},"area_shell":{"type":{"simple":"FLOAT"}},"metadata_haskell":{"type":{"simple":"STRING"}},"metadata_julia":{"type":{"simple":"STRING"}},"metadata_python":{"type":{"simple":"STRING"}},"metadata_r":{"type":{"simple":"STRING"}},"metadata_shell":{"type":{"simple":"STRING"}}}},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.raw_container","task-name","report_all_calculated_areas"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"ellipse-area-metadata-haskell\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-haskell"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-haskell:v1","command":["./calculate-ellipse-area","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-julia\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-julia"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-julia:v1","command":["julia","calculate-ellipse-area.jl","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-python\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-python"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-python:v1","command":["python","calculate-ellipse-area.py","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-r\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-r"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-r:v1","command":["Rscript","--vanilla","calculate-ellipse-area.R","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}},"resource_type:TASK name:\"ellipse-area-metadata-shell\"":{"id":{"resourceType":"TASK","name":"ellipse-area-metadata-shell"},"type":"raw-container","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"area":{"type":{"simple":"FLOAT"}},"metadata":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/rawcontainers-shell:v1","command":["./calculate-ellipse-area.sh","/var/inputs","/var/outputs"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}],"dataConfig":{"enabled":true,"inputPath":"/var/inputs","outputPath":"/var/outputs"}}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf_crd.json index 8fd1cfe5c7..abb3bad0b6 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/015_core.containerization.use_secrets.my_secret_workflow_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-containerization-use-secrets-my-secret-workflow"}},"spec":{"id":"::core.containerization.use_secrets.my_secret_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o2","binding":{"promise":{"nodeId":"n1","var":"o1"}}},{"var":"o3","binding":{"promise":{"nodeId":"n2","var":"o0"}}},{"var":"o4","binding":{"promise":{"nodeId":"n2","var":"o1"}}}]},"n0":{"id":"n0","name":"secret_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.use_secrets.secret_task\""},"n1":{"id":"n1","name":"user_info_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.use_secrets.user_info_task\""},"n2":{"id":"n2","name":"secret_file_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.use_secrets.secret_file_task\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"edges":{"downstream":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"upstream":{"end-node":["n0","n1","n2"],"n0":["start-node"],"n1":["start-node"],"n2":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}},"o2":{"type":{"simple":"STRING"}},"o3":{"type":{"simple":"STRING"}},"o4":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o2","binding":{"promise":{"nodeId":"n1","var":"o1"}}},{"var":"o3","binding":{"promise":{"nodeId":"n2","var":"o0"}}},{"var":"o4","binding":{"promise":{"nodeId":"n2","var":"o1"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.containerization.use_secrets.secret_file_task\"":{"id":{"resourceType":"TASK","name":"core.containerization.use_secrets.secret_file_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.use_secrets","task-name","secret_file_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"securityContext":{"secrets":[{"group":"user-info","key":"user_secret","mountRequirement":"ENV_VAR"}]}},"resource_type:TASK name:\"core.containerization.use_secrets.secret_task\"":{"id":{"resourceType":"TASK","name":"core.containerization.use_secrets.secret_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.use_secrets","task-name","secret_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"securityContext":{"secrets":[{"group":"user-info","key":"user_secret"}]}},"resource_type:TASK name:\"core.containerization.use_secrets.user_info_task\"":{"id":{"resourceType":"TASK","name":"core.containerization.use_secrets.user_info_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.use_secrets","task-name","user_info_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"securityContext":{"secrets":[{"group":"user-info","key":"username"},{"group":"user-info","key":"password"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-containerization-use-secrets-my-secret-workflow"}},"spec":{"id":"::core.containerization.use_secrets.my_secret_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o2","binding":{"promise":{"nodeId":"n1","var":"o1"}}},{"var":"o3","binding":{"promise":{"nodeId":"n2","var":"o0"}}},{"var":"o4","binding":{"promise":{"nodeId":"n2","var":"o1"}}}]},"n0":{"id":"n0","name":"secret_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.use_secrets.secret_task\""},"n1":{"id":"n1","name":"user_info_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.use_secrets.user_info_task\""},"n2":{"id":"n2","name":"secret_file_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.containerization.use_secrets.secret_file_task\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"edges":{"downstream":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"upstream":{"end-node":["n0","n1","n2"],"n0":["start-node"],"n1":["start-node"],"n2":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}},"o2":{"type":{"simple":"STRING"}},"o3":{"type":{"simple":"STRING"}},"o4":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o2","binding":{"promise":{"nodeId":"n1","var":"o1"}}},{"var":"o3","binding":{"promise":{"nodeId":"n2","var":"o0"}}},{"var":"o4","binding":{"promise":{"nodeId":"n2","var":"o1"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.containerization.use_secrets.secret_file_task\"":{"id":{"resourceType":"TASK","name":"core.containerization.use_secrets.secret_file_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.use_secrets","task-name","secret_file_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"securityContext":{"secrets":[{"group":"user-info","key":"user_secret","mountRequirement":"ENV_VAR"}]}},"resource_type:TASK name:\"core.containerization.use_secrets.secret_task\"":{"id":{"resourceType":"TASK","name":"core.containerization.use_secrets.secret_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.use_secrets","task-name","secret_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"securityContext":{"secrets":[{"group":"user-info","key":"user_secret"}]}},"resource_type:TASK name:\"core.containerization.use_secrets.user_info_task\"":{"id":{"resourceType":"TASK","name":"core.containerization.use_secrets.user_info_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.containerization.use_secrets","task-name","user_info_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"securityContext":{"secrets":[{"group":"user-info","key":"username"},{"group":"user-info","key":"password"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf_crd.json index 442e1fb95f..2e3510eee3 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/019_core.control_flow.chain_tasks.chain_tasks_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-chain-tasks-chain-tasks-wf"}},"spec":{"id":"::core.control_flow.chain_tasks.chain_tasks_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"write","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.chain_tasks.write\""},"n1":{"id":"n1","name":"read","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.chain_tasks.read\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.chain_tasks.read\"":{"id":{"resourceType":"TASK","name":"core.control_flow.chain_tasks.read"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.chain_tasks","task-name","read"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.chain_tasks.write\"":{"id":{"resourceType":"TASK","name":"core.control_flow.chain_tasks.write"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.chain_tasks","task-name","write"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-chain-tasks-chain-tasks-wf"}},"spec":{"id":"::core.control_flow.chain_tasks.chain_tasks_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"write","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.chain_tasks.write\""},"n1":{"id":"n1","name":"read","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.chain_tasks.read\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.chain_tasks.read\"":{"id":{"resourceType":"TASK","name":"core.control_flow.chain_tasks.read"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.chain_tasks","task-name","read"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.chain_tasks.write\"":{"id":{"resourceType":"TASK","name":"core.control_flow.chain_tasks.write"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.chain_tasks","task-name","write"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf_crd.json index 0159e921d8..652b92ee37 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/022_core.control_flow.checkpoint.example_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-checkpoint-example"}},"spec":{"id":"::core.control_flow.checkpoint.example","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"use_checkpoint","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.checkpoint.use_checkpoint\"","inputBindings":[{"var":"n_iterations","binding":{"promise":{"nodeId":"start-node","var":"n_iterations"}}}],"retry":{"minAttempts":4}},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"n_iterations":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.checkpoint.use_checkpoint\"":{"id":{"resourceType":"TASK","name":"core.control_flow.checkpoint.use_checkpoint"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{"retries":3}},"interface":{"inputs":{"variables":{"n_iterations":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.checkpoint","task-name","use_checkpoint"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-checkpoint-example"}},"spec":{"id":"::core.control_flow.checkpoint.example","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"use_checkpoint","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.checkpoint.use_checkpoint\"","inputBindings":[{"var":"n_iterations","binding":{"promise":{"nodeId":"start-node","var":"n_iterations"}}}],"retry":{"minAttempts":4}},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"n_iterations":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.checkpoint.use_checkpoint\"":{"id":{"resourceType":"TASK","name":"core.control_flow.checkpoint.use_checkpoint"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{"retries":3}},"interface":{"inputs":{"variables":{"n_iterations":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.checkpoint","task-name","use_checkpoint"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf_crd.json index 641319a52a..a336eab623 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/026_core.control_flow.conditions.multiplier_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-multiplier"}},"spec":{"id":"::core.control_flow.conditions.multiplier","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GTE","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LTE","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"else":"n0-n1"},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-multiplier"}},"spec":{"id":"::core.control_flow.conditions.multiplier","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GTE","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LTE","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"else":"n0-n1"},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf_crd.json index 5598c7a375..6b9205d984 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/028_core.control_flow.conditions.multiplier_2_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-multiplier-2"}},"spec":{"id":"::core.control_flow.conditions.multiplier_2","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}},"rightExpression":{"comparison":{"operator":"LTE","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":10}}}}}},"then":"n0-n1"}],"elseFail":{"failed_node_id":"fractions","message":"The input must be between 0 and 10"}},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-multiplier-2"}},"spec":{"id":"::core.control_flow.conditions.multiplier_2","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}},"rightExpression":{"comparison":{"operator":"LTE","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":10}}}}}},"then":"n0-n1"}],"elseFail":{"failed_node_id":"fractions","message":"The input must be between 0 and 10"}},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf_crd.json index f7bd87faac..fe496f709f 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/030_core.control_flow.conditions.multiplier_3_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-multiplier-3"}},"spec":{"id":"::core.control_flow.conditions.multiplier_3","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":10}}}}}},"then":"n0-n1"}],"elseFail":{"failed_node_id":"fractions","message":"The input must be between 0 and 10"}},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n1":{"id":"n1","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-multiplier-3"}},"spec":{"id":"::core.control_flow.conditions.multiplier_3","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":10}}}}}},"then":"n0-n1"}],"elseFail":{"failed_node_id":"fractions","message":"The input must be between 0 and 10"}},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n1":{"id":"n1","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf_crd.json index d90b45210d..49add26a0a 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/035_core.control_flow.conditions.basic_boolean_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-basic-boolean-wf"}},"spec":{"id":"::core.control_flow.conditions.basic_boolean_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"coin_toss","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"","inputBindings":[{"var":"seed","binding":{"promise":{"nodeId":"start-node","var":"seed"}}}]},"n1":{"id":"n1","name":"test","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"leftValue":{"var":"n0.o0"},"rightValue":{"primitive":{"boolean":true}}}},"then":"n1-n0"},"else":"n1-n1"},"inputBindings":[{"var":"n0.o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n1-n0":{"id":"n1-n0","name":"success","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.success\""},"n1-n1":{"id":"n1-n1","name":"failed","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.failed\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"seed":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.coin_toss"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"seed":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"BOOLEAN"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","coin_toss"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.failed\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.failed"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","failed"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.success\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.success"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","success"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-basic-boolean-wf"}},"spec":{"id":"::core.control_flow.conditions.basic_boolean_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"coin_toss","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"","inputBindings":[{"var":"seed","binding":{"promise":{"nodeId":"start-node","var":"seed"}}}]},"n1":{"id":"n1","name":"test","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"leftValue":{"var":"n0.o0"},"rightValue":{"primitive":{"boolean":true}}}},"then":"n1-n0"},"else":"n1-n1"},"inputBindings":[{"var":"n0.o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n1-n0":{"id":"n1-n0","name":"success","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.success\""},"n1-n1":{"id":"n1-n1","name":"failed","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.failed\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"seed":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.coin_toss"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"seed":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"BOOLEAN"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","coin_toss"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.failed\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.failed"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","failed"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.success\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.success"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","success"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf_crd.json index 649b738d48..3b0f0f139e 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/037_core.control_flow.conditions.bool_input_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-bool-input-wf"}},"spec":{"id":"::core.control_flow.conditions.bool_input_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"test","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"leftValue":{"var":".b"},"rightValue":{"primitive":{"boolean":true}}}},"then":"n0-n0"},"else":"n0-n1"},"inputBindings":[{"var":".b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n0-n0":{"id":"n0-n0","name":"success","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.success\""},"n0-n1":{"id":"n0-n1","name":"failed","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.failed\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"b":{"scalar":{"primitive":{"boolean":false}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.failed\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.failed"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","failed"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.success\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.success"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","success"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-bool-input-wf"}},"spec":{"id":"::core.control_flow.conditions.bool_input_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"test","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"leftValue":{"var":".b"},"rightValue":{"primitive":{"boolean":true}}}},"then":"n0-n0"},"else":"n0-n1"},"inputBindings":[{"var":".b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"n0-n0":{"id":"n0-n0","name":"success","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.success\""},"n0-n1":{"id":"n0-n1","name":"failed","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.failed\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"b":{"scalar":{"primitive":{"boolean":false}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.failed\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.failed"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","failed"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.success\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.success"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","success"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf_crd.json index cad6c84059..aabbb9df7b 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/039_core.control_flow.conditions.nested_conditions_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-nested-conditions"}},"spec":{"id":"::core.control_flow.conditions.nested_conditions","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":10}}}}}},"then":"n0-n1"}],"else":"n0-n2"},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"inner_fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.5}}}},"then":"n0-n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.5}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.7}}}}}},"then":"n0-n0-n1"}],"elseFail":{"failed_node_id":"inner_fractions","message":"Only \u003c0.7 allowed"}},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0-n0":{"id":"n0-n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0-n1":{"id":"n0-n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n2":{"id":"n0-n2","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n0-n0":["start-node"],"n0-n0-n1":["start-node"],"n0-n1":["start-node"],"n0-n2":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-nested-conditions"}},"spec":{"id":"::core.control_flow.conditions.nested_conditions","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}}}},"then":"n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":1}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":10}}}}}},"then":"n0-n1"}],"else":"n0-n2"},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0":{"id":"n0-n0","name":"inner_fractions","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.5}}}},"then":"n0-n0-n0"},"elseIf":[{"condition":{"conjunction":{"leftExpression":{"comparison":{"operator":"GT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.5}}}},"rightExpression":{"comparison":{"operator":"LT","leftValue":{"var":".my_input"},"rightValue":{"primitive":{"floatValue":0.7}}}}}},"then":"n0-n0-n1"}],"elseFail":{"failed_node_id":"inner_fractions","message":"Only \u003c0.7 allowed"}},"inputBindings":[{"var":".my_input","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0-n0":{"id":"n0-n0-n0","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n0-n1":{"id":"n0-n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n1":{"id":"n0-n1","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n0-n2":{"id":"n0-n2","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n0-n0":["start-node"],"n0-n0-n1":["start-node"],"n0-n1":["start-node"],"n0-n2":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf_crd.json index bd2c7b824a..84f5be273e 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/042_core.control_flow.conditions.consume_outputs_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-consume-outputs"}},"spec":{"id":"::core.control_flow.conditions.consume_outputs","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"coin_toss","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"","inputBindings":[{"var":"seed","binding":{"promise":{"nodeId":"start-node","var":"seed"}}}]},"n1":{"id":"n1","name":"double_or_square","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"leftValue":{"var":"n0.o0"},"rightValue":{"primitive":{"boolean":true}}}},"then":"n1-n0"},"else":"n1-n1"},"inputBindings":[{"var":"n0.o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n1-n0":{"id":"n1-n0","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n1-n1":{"id":"n1-n1","name":"calc_sum","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.calc_sum\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n2":{"id":"n2","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n2"],"n0":["start-node"],"n1":["n0"],"n1-n0":["start-node"],"n1-n1":["start-node"],"n2":["n1"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}},"seed":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.calc_sum\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.calc_sum"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","calc_sum"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.coin_toss"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"seed":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"BOOLEAN"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","coin_toss"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-conditions-consume-outputs"}},"spec":{"id":"::core.control_flow.conditions.consume_outputs","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"coin_toss","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"","inputBindings":[{"var":"seed","binding":{"promise":{"nodeId":"start-node","var":"seed"}}}]},"n1":{"id":"n1","name":"double_or_square","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"leftValue":{"var":"n0.o0"},"rightValue":{"primitive":{"boolean":true}}}},"then":"n1-n0"},"else":"n1-n1"},"inputBindings":[{"var":"n0.o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n1-n0":{"id":"n1-n0","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.square\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n1-n1":{"id":"n1-n1","name":"calc_sum","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.calc_sum\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"n2":{"id":"n2","name":"double","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.conditions.double\"","inputBindings":[{"var":"n","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n2"],"n0":["start-node"],"n1":["n0"],"n1-n0":["start-node"],"n1-n1":["start-node"],"n2":["n1"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"floatValue":0}}},"seed":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.conditions.calc_sum\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.calc_sum"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"FLOAT"}},"b":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","calc_sum"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.coin_toss\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.coin_toss"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"seed":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"BOOLEAN"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","coin_toss"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.double\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.double"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","double"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.conditions.square\"":{"id":{"resourceType":"TASK","name":"core.control_flow.conditions.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"n":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.conditions","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf_crd.json index 2e6b2611b5..9220a386f1 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/048_core.control_flow.dynamics.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-dynamics-wf"}},"spec":{"id":"::core.control_flow.dynamics.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"count_characters","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.dynamics.count_characters\"","inputBindings":[{"var":"s1","binding":{"promise":{"nodeId":"start-node","var":"s1"}}},{"var":"s2","binding":{"promise":{"nodeId":"start-node","var":"s2"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"s1":{"scalar":{"primitive":{"stringValue":""}}},"s2":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.dynamics.count_characters\"":{"id":{"resourceType":"TASK","name":"core.control_flow.dynamics.count_characters"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"s1":{"type":{"simple":"STRING"}},"s2":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.dynamics","task-name","count_characters"],"resources":{},"env":[{"key":"_F_SS_C","value":"H4sIAAAAAAAC/8VRXW7DIAy+ysTzWtKtUuiuMk2RAZN6pZCBE6mrevcBXdXuBHsIsr8f85mcBR1hxMHE4GgUb09nYdHB7HloREMCHGtxY8Tzk3BfoSLj3qQ1Ren8iTGm8VqYGA+6fFXIUKcKExOulFa4AbXdmR1YZ0CpbruDrt/qTWfBvvTK9V3X9+JSjO36XLzv/xHgo0aYUvxEw8UeZu8LYOMRKNz7BVOm+ABgWO7NdOJ9DAMFxjQlLGcNIuPEcilCqSnIq+a1bVSTH4iHhRLP4ItkSDHyX5MnfTOtlczEuJrAHOpbyduENg0yDxkTgadv4JKydMwUxtz+KQbQHm2pHfiMdTnMhb5KLaWHrSlzIj03xkfTJL/05fIDQ+X0kUICAAA="}],"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-dynamics-wf"}},"spec":{"id":"::core.control_flow.dynamics.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"count_characters","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.dynamics.count_characters\"","inputBindings":[{"var":"s1","binding":{"promise":{"nodeId":"start-node","var":"s1"}}},{"var":"s2","binding":{"promise":{"nodeId":"start-node","var":"s2"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"s1":{"scalar":{"primitive":{"stringValue":""}}},"s2":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.dynamics.count_characters\"":{"id":{"resourceType":"TASK","name":"core.control_flow.dynamics.count_characters"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"s1":{"type":{"simple":"STRING"}},"s2":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.dynamics","task-name","count_characters"],"resources":{},"env":[{"key":"_F_SS_C","value":"H4sIAAAAAAAC/8VRXW7DIAy+ysTzWtKtUuiuMk2RAZN6pZCBE6mrevcBXdXuBHsIsr8f85mcBR1hxMHE4GgUb09nYdHB7HloREMCHGtxY8Tzk3BfoSLj3qQ1Ren8iTGm8VqYGA+6fFXIUKcKExOulFa4AbXdmR1YZ0CpbruDrt/qTWfBvvTK9V3X9+JSjO36XLzv/xHgo0aYUvxEw8UeZu8LYOMRKNz7BVOm+ABgWO7NdOJ9DAMFxjQlLGcNIuPEcilCqSnIq+a1bVSTH4iHhRLP4ItkSDHyX5MnfTOtlczEuJrAHOpbyduENg0yDxkTgadv4JKydMwUxtz+KQbQHm2pHfiMdTnMhb5KLaWHrSlzIj03xkfTJL/05fIDQ+X0kUICAAA="}],"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf_crd.json index cf38fe3950..22b668febe 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/053_core.control_flow.map_task.my_map_workflow_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-map-task-my-map-workflow"}},"spec":{"id":"::core.control_flow.map_task.my_map_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"mapper_a_mappable_task_0","resources":{"limits":{"memory":"500Mi"},"requests":{"memory":"300Mi"}},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.map_task.mapper_a_mappable_task_0\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}],"retry":{"minAttempts":2}},"n1":{"id":"n1","name":"coalesce","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.map_task.coalesce\"","inputBindings":[{"var":"b","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"a":{"collection":{"literals":[{"scalar":{"primitive":{"integer":"0"}}}]}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.map_task.coalesce\"":{"id":{"resourceType":"TASK","name":"core.control_flow.map_task.coalesce"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"b":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.map_task","task-name","coalesce"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.map_task.mapper_a_mappable_task_0\"":{"id":{"resourceType":"TASK","name":"core.control_flow.map_task.mapper_a_mappable_task_0"},"type":"container_array","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"collectionType":{"simple":"INTEGER"}}}}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"STRING"}}}}}},"custom":{"minSuccessRatio":1},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-map-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.map_task","task-name","a_mappable_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"taskTypeVersion":1}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-map-task-my-map-workflow"}},"spec":{"id":"::core.control_flow.map_task.my_map_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"mapper_a_mappable_task_0","resources":{"limits":{"memory":"500Mi"},"requests":{"memory":"300Mi"}},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.map_task.mapper_a_mappable_task_0\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}],"retry":{"minAttempts":2}},"n1":{"id":"n1","name":"coalesce","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.map_task.coalesce\"","inputBindings":[{"var":"b","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"a":{"collection":{"literals":[{"scalar":{"primitive":{"integer":"0"}}}]}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.map_task.coalesce\"":{"id":{"resourceType":"TASK","name":"core.control_flow.map_task.coalesce"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"b":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.map_task","task-name","coalesce"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.map_task.mapper_a_mappable_task_0\"":{"id":{"resourceType":"TASK","name":"core.control_flow.map_task.mapper_a_mappable_task_0"},"type":"container_array","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"collectionType":{"simple":"INTEGER"}}}}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"STRING"}}}}}},"custom":{"minSuccessRatio":1},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-map-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.map_task","task-name","a_mappable_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]},"taskTypeVersion":1}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf_crd.json index c4de05de75..2d4176d9b3 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/059_core.control_flow.merge_sort.merge_sort_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-merge-sort-merge-sort"}},"spec":{"id":"::core.control_flow.merge_sort.merge_sort","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"terminal_case","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"operator":"LTE","leftValue":{"var":".numbers_count"},"rightValue":{"var":".run_local_at_count"}}},"then":"n0-n0"},"else":"n0-n1"},"inputBindings":[{"var":".numbers_count","binding":{"promise":{"nodeId":"start-node","var":"numbers_count"}}},{"var":".run_local_at_count","binding":{"promise":{"nodeId":"start-node","var":"run_local_at_count"}}}]},"n0-n0":{"id":"n0-n0","name":"sort_locally","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.merge_sort.sort_locally\"","inputBindings":[{"var":"numbers","binding":{"promise":{"nodeId":"start-node","var":"numbers"}}}]},"n0-n1":{"id":"n0-n1","name":"merge_sort_remotely","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.merge_sort.merge_sort_remotely\"","inputBindings":[{"var":"numbers","binding":{"promise":{"nodeId":"start-node","var":"numbers"}}},{"var":"run_local_at_count","binding":{"promise":{"nodeId":"start-node","var":"run_local_at_count"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"INTEGER"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"numbers":{"collection":{"literals":[{"scalar":{"primitive":{"integer":"0"}}}]}},"numbers_count":{"scalar":{"primitive":{"integer":"0"}}},"run_local_at_count":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.merge_sort.merge_sort_remotely\"":{"id":{"resourceType":"TASK","name":"core.control_flow.merge_sort.merge_sort_remotely"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"numbers":{"type":{"collectionType":{"simple":"INTEGER"}}},"run_local_at_count":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"INTEGER"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.merge_sort","task-name","merge_sort_remotely"],"resources":{},"env":[{"key":"_F_SS_C","value":"H4sIAAAAAAAC/8VRXW7DIAy+ysTzWtKtUuiuMk2RAZN6pZCBE6mrevcBXdXuBHsIsr8f85mcBR1hxMHE4GgUb09nYdHB7HloREMCHGtxY8Tzk3BfoSLj3qQ1Ren8iTGm8VqYGA+6fFXIUKcKExOulFa4AbXdmR1YZ0CpbruDrt/qTWfBvvTK9V3X9+JSjO36XLzv/xHgo0aYUvxEw8UeZu8LYOMRKNz7BVOm+ABgWO7NdOJ9DAMFxjQlLGcNIuPEcilCqSnIq+a1bVSTH4iHhRLP4ItkSDHyX5MnfTOtlczEuJrAHOpbyduENg0yDxkTgadv4JKydMwUxtz+KQbQHm2pHfiMdTnMhb5KLaWHrSlzIj03xkfTJL/05fIDQ+X0kUICAAA="}],"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.merge_sort.sort_locally\"":{"id":{"resourceType":"TASK","name":"core.control_flow.merge_sort.sort_locally"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"numbers":{"type":{"collectionType":{"simple":"INTEGER"}}}}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"INTEGER"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.merge_sort","task-name","sort_locally"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-merge-sort-merge-sort"}},"spec":{"id":"::core.control_flow.merge_sort.merge_sort","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"terminal_case","resources":{},"kind":"branch","branch":{"if":{"condition":{"comparison":{"operator":"LTE","leftValue":{"var":".numbers_count"},"rightValue":{"var":".run_local_at_count"}}},"then":"n0-n0"},"else":"n0-n1"},"inputBindings":[{"var":".numbers_count","binding":{"promise":{"nodeId":"start-node","var":"numbers_count"}}},{"var":".run_local_at_count","binding":{"promise":{"nodeId":"start-node","var":"run_local_at_count"}}}]},"n0-n0":{"id":"n0-n0","name":"sort_locally","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.merge_sort.sort_locally\"","inputBindings":[{"var":"numbers","binding":{"promise":{"nodeId":"start-node","var":"numbers"}}}]},"n0-n1":{"id":"n0-n1","name":"merge_sort_remotely","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.merge_sort.merge_sort_remotely\"","inputBindings":[{"var":"numbers","binding":{"promise":{"nodeId":"start-node","var":"numbers"}}},{"var":"run_local_at_count","binding":{"promise":{"nodeId":"start-node","var":"run_local_at_count"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"],"n0-n0":["start-node"],"n0-n1":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"INTEGER"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"numbers":{"collection":{"literals":[{"scalar":{"primitive":{"integer":"0"}}}]}},"numbers_count":{"scalar":{"primitive":{"integer":"0"}}},"run_local_at_count":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.merge_sort.merge_sort_remotely\"":{"id":{"resourceType":"TASK","name":"core.control_flow.merge_sort.merge_sort_remotely"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"numbers":{"type":{"collectionType":{"simple":"INTEGER"}}},"run_local_at_count":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"INTEGER"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.merge_sort","task-name","merge_sort_remotely"],"resources":{},"env":[{"key":"_F_SS_C","value":"H4sIAAAAAAAC/8VRXW7DIAy+ysTzWtKtUuiuMk2RAZN6pZCBE6mrevcBXdXuBHsIsr8f85mcBR1hxMHE4GgUb09nYdHB7HloREMCHGtxY8Tzk3BfoSLj3qQ1Ren8iTGm8VqYGA+6fFXIUKcKExOulFa4AbXdmR1YZ0CpbruDrt/qTWfBvvTK9V3X9+JSjO36XLzv/xHgo0aYUvxEw8UeZu8LYOMRKNz7BVOm+ABgWO7NdOJ9DAMFxjQlLGcNIuPEcilCqSnIq+a1bVSTH4iHhRLP4ItkSDHyX5MnfTOtlczEuJrAHOpbyduENg0yDxkTgadv4JKydMwUxtz+KQbQHm2pHfiMdTnMhb5KLaWHrSlzIj03xkfTJL/05fIDQ+X0kUICAAA="}],"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.control_flow.merge_sort.sort_locally\"":{"id":{"resourceType":"TASK","name":"core.control_flow.merge_sort.sort_locally"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"numbers":{"type":{"collectionType":{"simple":"INTEGER"}}}}},"outputs":{"variables":{"o0":{"type":{"collectionType":{"simple":"INTEGER"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.merge_sort","task-name","sort_locally"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf_crd.json index c0c257bc46..24f85421f3 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/062_core.control_flow.subworkflows.my_subwf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-subworkflows-my-subwf"}},"spec":{"id":"::core.control_flow.subworkflows.my_subwf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"c"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"c"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.subworkflows.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.subworkflows.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"n0","var":"t1_int_output"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"c"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"c"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.subworkflows.t1\"":{"id":{"resourceType":"TASK","name":"core.control_flow.subworkflows.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"c":{"type":{"simple":"STRING"}},"t1_int_output":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.subworkflows","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-subworkflows-my-subwf"}},"spec":{"id":"::core.control_flow.subworkflows.my_subwf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"c"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"c"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.subworkflows.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.subworkflows.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"n0","var":"t1_int_output"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}},"o1":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"c"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"c"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.subworkflows.t1\"":{"id":{"resourceType":"TASK","name":"core.control_flow.subworkflows.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"c":{"type":{"simple":"STRING"}},"t1_int_output":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.subworkflows","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf_crd.json index 5f871f850a..9423f9c08a 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/069_core.control_flow.subworkflows.ext_workflow_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-subworkflows-ext-workflow"}},"spec":{"id":"::core.control_flow.subworkflows.ext_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"count_freq_words","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.subworkflows.count_freq_words\"","inputBindings":[{"var":"input_string1","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.subworkflows.count_freq_words\"":{"id":{"resourceType":"TASK","name":"core.control_flow.subworkflows.count_freq_words"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"input_string1":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.subworkflows","task-name","count_freq_words"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-control-flow-subworkflows-ext-workflow"}},"spec":{"id":"::core.control_flow.subworkflows.ext_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"count_freq_words","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.control_flow.subworkflows.count_freq_words\"","inputBindings":[{"var":"input_string1","binding":{"promise":{"nodeId":"start-node","var":"my_input"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"my_input":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.control_flow.subworkflows.count_freq_words\"":{"id":{"resourceType":"TASK","name":"core.control_flow.subworkflows.count_freq_words"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"input_string1":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.control_flow.subworkflows","task-name","count_freq_words"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf_crd.json index fecbce5d11..0bdd5c3e72 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/077_core.extend_flyte.custom_task_plugin.my_workflow_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-extend-flyte-custom-task-plugin-my-workflow"}},"spec":{"id":"::core.extend_flyte.custom_task_plugin.my_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"my-objectstore-sensor","resources":{},"kind":"task","task":"resource_type:TASK name:\"my-objectstore-sensor\"","inputBindings":[{"var":"path","binding":{"promise":{"nodeId":"start-node","var":"path"}}}],"retry":{"minAttempts":11},"executionDeadline":"20m0s","activeDeadline":"40m0s"},"n1":{"id":"n1","name":"print_file","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.extend_flyte.custom_task_plugin.print_file\"","inputBindings":[{"var":"path","binding":{"promise":{"nodeId":"n0","var":"path"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"path":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.extend_flyte.custom_task_plugin.print_file\"":{"id":{"resourceType":"TASK","name":"core.extend_flyte.custom_task_plugin.print_file"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"path":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.extend_flyte.custom_task_plugin","task-name","print_file"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"my-objectstore-sensor\"":{"id":{"resourceType":"TASK","name":"my-objectstore-sensor"},"type":"object-store-sensor","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"timeout":"1200s","retries":{"retries":10}},"interface":{"inputs":{"variables":{"path":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"path":{"type":{"simple":"STRING"}}}}}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-extend-flyte-custom-task-plugin-my-workflow"}},"spec":{"id":"::core.extend_flyte.custom_task_plugin.my_workflow","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"my-objectstore-sensor","resources":{},"kind":"task","task":"resource_type:TASK name:\"my-objectstore-sensor\"","inputBindings":[{"var":"path","binding":{"promise":{"nodeId":"start-node","var":"path"}}}],"retry":{"minAttempts":11},"executionDeadline":"20m0s","activeDeadline":"40m0s"},"n1":{"id":"n1","name":"print_file","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.extend_flyte.custom_task_plugin.print_file\"","inputBindings":[{"var":"path","binding":{"promise":{"nodeId":"n0","var":"path"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"path":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.extend_flyte.custom_task_plugin.print_file\"":{"id":{"resourceType":"TASK","name":"core.extend_flyte.custom_task_plugin.print_file"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"path":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.extend_flyte.custom_task_plugin","task-name","print_file"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"my-objectstore-sensor\"":{"id":{"resourceType":"TASK","name":"my-objectstore-sensor"},"type":"object-store-sensor","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"timeout":"1200s","retries":{"retries":10}},"interface":{"inputs":{"variables":{"path":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"path":{"type":{"simple":"STRING"}}}}}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf_crd.json index b64891180f..1ebd492d5f 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/081_core.extend_flyte.custom_types.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-extend-flyte-custom-types-wf"}},"spec":{"id":"::core.extend_flyte.custom_types.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"generate","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.extend_flyte.custom_types.generate\""},"n1":{"id":"n1","name":"consume","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.extend_flyte.custom_types.consume\"","inputBindings":[{"var":"d","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.extend_flyte.custom_types.consume\"":{"id":{"resourceType":"TASK","name":"core.extend_flyte.custom_types.consume"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"d":{"type":{"blob":{"format":"binary","dimensionality":"MULTIPART"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.extend_flyte.custom_types","task-name","consume"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.extend_flyte.custom_types.generate\"":{"id":{"resourceType":"TASK","name":"core.extend_flyte.custom_types.generate"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"blob":{"format":"binary","dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.extend_flyte.custom_types","task-name","generate"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-extend-flyte-custom-types-wf"}},"spec":{"id":"::core.extend_flyte.custom_types.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"generate","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.extend_flyte.custom_types.generate\""},"n1":{"id":"n1","name":"consume","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.extend_flyte.custom_types.consume\"","inputBindings":[{"var":"d","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.extend_flyte.custom_types.consume\"":{"id":{"resourceType":"TASK","name":"core.extend_flyte.custom_types.consume"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"d":{"type":{"blob":{"format":"binary","dimensionality":"MULTIPART"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.extend_flyte.custom_types","task-name","consume"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.extend_flyte.custom_types.generate\"":{"id":{"resourceType":"TASK","name":"core.extend_flyte.custom_types.generate"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"blob":{"format":"binary","dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.extend_flyte.custom_types","task-name","generate"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf_crd.json index c3d78033b8..7c293538cd 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/085_core.flyte_basics.basic_workflow.my_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-basic-workflow-my-wf"}},"spec":{"id":"::core.flyte_basics.basic_workflow.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"t1_int_output"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t2\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"n0","var":"c"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["n0","start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}},"o1":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"t1_int_output"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}},"b":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.basic_workflow.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"c":{"type":{"simple":"STRING"}},"t1_int_output":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.basic_workflow","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.basic_workflow.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"STRING"}},"b":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.basic_workflow","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-basic-workflow-my-wf"}},"spec":{"id":"::core.flyte_basics.basic_workflow.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"t1_int_output"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t2\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"n0","var":"c"}}},{"var":"b","binding":{"promise":{"nodeId":"start-node","var":"b"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["n0","start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}},"o1":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"t1_int_output"}}},{"var":"o1","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}},"b":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.basic_workflow.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"c":{"type":{"simple":"STRING"}},"t1_int_output":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.basic_workflow","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.basic_workflow.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.basic_workflow.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"STRING"}},"b":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.basic_workflow","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf_crd.json index 1167dcfa42..0c9d8d3bc2 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/089_core.flyte_basics.decorating_tasks.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-decorating-tasks-wf"}},"spec":{"id":"::core.flyte_basics.decorating_tasks.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t1\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"x"}}}]},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t2\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"x":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_tasks.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_tasks","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_tasks.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_tasks","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-decorating-tasks-wf"}},"spec":{"id":"::core.flyte_basics.decorating_tasks.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t1\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"x"}}}]},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t2\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"x":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_tasks.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_tasks","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_tasks.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_tasks.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_tasks","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf_crd.json index beefec5f74..d13c4dcd28 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/095_core.flyte_basics.decorating_workflows.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-decorating-workflows-wf"}},"spec":{"id":"::core.flyte_basics.decorating_workflows.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"setup","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.setup\""},"n1":{"id":"n1","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t1\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"x"}}}]},"n2":{"id":"n2","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t2\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n3":{"id":"n3","name":"teardown","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.teardown\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node","n3"],"n3":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node","n3"],"n3":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n2","n3"],"n0":["start-node"],"n1":["n0","start-node"],"n2":["n1"],"n3":["n2"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"x":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.setup\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.setup"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","setup"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.teardown\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.teardown"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","teardown"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-decorating-workflows-wf"}},"spec":{"id":"::core.flyte_basics.decorating_workflows.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"setup","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.setup\""},"n1":{"id":"n1","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t1\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"x"}}}]},"n2":{"id":"n2","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t2\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n3":{"id":"n3","name":"teardown","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.teardown\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node","n3"],"n3":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node","n3"],"n3":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n2","n3"],"n0":["start-node"],"n1":["n0","start-node"],"n2":["n1"],"n3":["n2"]}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"x":{"scalar":{"primitive":{"floatValue":0}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.setup\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.setup"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","setup"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"FLOAT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"FLOAT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.decorating_workflows.teardown\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.decorating_workflows.teardown"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.decorating_workflows","task-name","teardown"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf_crd.json index c4e129ee99..0e252dfea5 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/098_core.flyte_basics.documented_workflow.sphinx_docstring_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-documented-workflow-sphinx-docstring"}},"spec":{"id":"::core.flyte_basics.documented_workflow.sphinx_docstring","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"add_data","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"","inputBindings":[{"var":"data","binding":{"promise":{"nodeId":"start-node","var":"data"}}},{"var":"df","binding":{"promise":{"nodeId":"start-node","var":"df"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"data":{"scalar":{"generic":{}}},"df":{"scalar":{"structuredDataset":{"metadata":{"structuredDatasetType":{"format":"parquet"}}}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.documented_workflow.add_data"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"data":{"type":{"simple":"STRUCT"}},"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.documented_workflow","task-name","add_data"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-documented-workflow-sphinx-docstring"}},"spec":{"id":"::core.flyte_basics.documented_workflow.sphinx_docstring","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"add_data","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"","inputBindings":[{"var":"data","binding":{"promise":{"nodeId":"start-node","var":"data"}}},{"var":"df","binding":{"promise":{"nodeId":"start-node","var":"df"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"data":{"scalar":{"generic":{}}},"df":{"scalar":{"structuredDataset":{"metadata":{"structuredDatasetType":{"format":"parquet"}}}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.documented_workflow.add_data"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"data":{"type":{"simple":"STRUCT"}},"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.documented_workflow","task-name","add_data"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf_crd.json index e3b6562bd0..ad8aa646fa 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/100_core.flyte_basics.documented_workflow.numpy_docstring_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-documented-workflow-numpy-docstring"}},"spec":{"id":"::core.flyte_basics.documented_workflow.numpy_docstring","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"add_data","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"","inputBindings":[{"var":"data","binding":{"promise":{"nodeId":"start-node","var":"data"}}},{"var":"df","binding":{"promise":{"nodeId":"start-node","var":"df"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"data":{"scalar":{"generic":{}}},"df":{"scalar":{"structuredDataset":{"metadata":{"structuredDatasetType":{"format":"parquet"}}}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.documented_workflow.add_data"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"data":{"type":{"simple":"STRUCT"}},"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.documented_workflow","task-name","add_data"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-documented-workflow-numpy-docstring"}},"spec":{"id":"::core.flyte_basics.documented_workflow.numpy_docstring","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"add_data","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"","inputBindings":[{"var":"data","binding":{"promise":{"nodeId":"start-node","var":"data"}}},{"var":"df","binding":{"promise":{"nodeId":"start-node","var":"df"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"data":{"scalar":{"generic":{}}},"df":{"scalar":{"structuredDataset":{"metadata":{"structuredDatasetType":{"format":"parquet"}}}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.documented_workflow.add_data"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"data":{"type":{"simple":"STRUCT"}},"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.documented_workflow","task-name","add_data"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf_crd.json index bc6a1136b1..93baf6a94b 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/102_core.flyte_basics.documented_workflow.google_docstring_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-documented-workflow-google-docstring"}},"spec":{"id":"::core.flyte_basics.documented_workflow.google_docstring","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"add_data","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"","inputBindings":[{"var":"data","binding":{"promise":{"nodeId":"start-node","var":"data"}}},{"var":"df","binding":{"promise":{"nodeId":"start-node","var":"df"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"data":{"scalar":{"generic":{}}},"df":{"scalar":{"structuredDataset":{"metadata":{"structuredDatasetType":{"format":"parquet"}}}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.documented_workflow.add_data"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"data":{"type":{"simple":"STRUCT"}},"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.documented_workflow","task-name","add_data"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-documented-workflow-google-docstring"}},"spec":{"id":"::core.flyte_basics.documented_workflow.google_docstring","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"add_data","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"","inputBindings":[{"var":"data","binding":{"promise":{"nodeId":"start-node","var":"data"}}},{"var":"df","binding":{"promise":{"nodeId":"start-node","var":"df"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"data":{"scalar":{"generic":{}}},"df":{"scalar":{"structuredDataset":{"metadata":{"structuredDatasetType":{"format":"parquet"}}}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.documented_workflow.add_data\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.documented_workflow.add_data"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"data":{"type":{"simple":"STRUCT"}},"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.documented_workflow","task-name","add_data"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf_crd.json index 1332ec0a42..5af6d78af8 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/105_core.flyte_basics.files.normalize_csv_file_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-files-normalize-csv-file"}},"spec":{"id":"::core.flyte_basics.files.normalize_csv_file","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"normalize_columns","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.files.normalize_columns\"","inputBindings":[{"var":"column_names","binding":{"promise":{"nodeId":"start-node","var":"column_names"}}},{"var":"columns_to_normalize","binding":{"promise":{"nodeId":"start-node","var":"columns_to_normalize"}}},{"var":"csv_url","binding":{"promise":{"nodeId":"start-node","var":"csv_url"}}},{"var":"output_location","binding":{"promise":{"nodeId":"start-node","var":"output_location"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"blob":{}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"column_names":{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}},"columns_to_normalize":{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}},"csv_url":{"scalar":{"blob":{"metadata":{"type":{}},"uri":"/tmp/somepath"}}},"output_location":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.files.normalize_columns\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.files.normalize_columns"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"column_names":{"type":{"collectionType":{"simple":"STRING"}}},"columns_to_normalize":{"type":{"collectionType":{"simple":"STRING"}}},"csv_url":{"type":{"blob":{}}},"output_location":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.files","task-name","normalize_columns"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-files-normalize-csv-file"}},"spec":{"id":"::core.flyte_basics.files.normalize_csv_file","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"normalize_columns","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.files.normalize_columns\"","inputBindings":[{"var":"column_names","binding":{"promise":{"nodeId":"start-node","var":"column_names"}}},{"var":"columns_to_normalize","binding":{"promise":{"nodeId":"start-node","var":"columns_to_normalize"}}},{"var":"csv_url","binding":{"promise":{"nodeId":"start-node","var":"csv_url"}}},{"var":"output_location","binding":{"promise":{"nodeId":"start-node","var":"output_location"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"blob":{}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"column_names":{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}},"columns_to_normalize":{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}},"csv_url":{"scalar":{"blob":{"metadata":{"type":{}},"uri":"/tmp/somepath"}}},"output_location":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.files.normalize_columns\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.files.normalize_columns"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"column_names":{"type":{"collectionType":{"simple":"STRING"}}},"columns_to_normalize":{"type":{"collectionType":{"simple":"STRING"}}},"csv_url":{"type":{"blob":{}}},"output_location":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.files","task-name","normalize_columns"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf_crd.json index 88ba0db9c3..877a7f8f4d 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/109_core.flyte_basics.folders.download_and_normalize_csv_files_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-folders-download-and-normalize-csv-files"}},"spec":{"id":"::core.flyte_basics.folders.download_and_normalize_csv_files","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"download_files","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.folders.download_files\"","inputBindings":[{"var":"csv_urls","binding":{"promise":{"nodeId":"start-node","var":"csv_urls"}}}]},"n1":{"id":"n1","name":"normalize_all_files","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.folders.normalize_all_files\"","inputBindings":[{"var":"columns_metadata","binding":{"promise":{"nodeId":"start-node","var":"columns_metadata"}}},{"var":"columns_to_normalize_metadata","binding":{"promise":{"nodeId":"start-node","var":"columns_to_normalize_metadata"}}},{"var":"csv_files_dir","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0","start-node"]}},"outputs":{"variables":{"o0":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"columns_metadata":{"collection":{"literals":[{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}}]}},"columns_to_normalize_metadata":{"collection":{"literals":[{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}}]}},"csv_urls":{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.folders.download_files\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.folders.download_files"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"csv_urls":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputs":{"variables":{"o0":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.folders","task-name","download_files"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.folders.normalize_all_files\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.folders.normalize_all_files"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"columns_metadata":{"type":{"collectionType":{"collectionType":{"simple":"STRING"}}}},"columns_to_normalize_metadata":{"type":{"collectionType":{"collectionType":{"simple":"STRING"}}}},"csv_files_dir":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}},"outputs":{"variables":{"o0":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.folders","task-name","normalize_all_files"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-folders-download-and-normalize-csv-files"}},"spec":{"id":"::core.flyte_basics.folders.download_and_normalize_csv_files","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"download_files","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.folders.download_files\"","inputBindings":[{"var":"csv_urls","binding":{"promise":{"nodeId":"start-node","var":"csv_urls"}}}]},"n1":{"id":"n1","name":"normalize_all_files","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.folders.normalize_all_files\"","inputBindings":[{"var":"columns_metadata","binding":{"promise":{"nodeId":"start-node","var":"columns_metadata"}}},{"var":"columns_to_normalize_metadata","binding":{"promise":{"nodeId":"start-node","var":"columns_to_normalize_metadata"}}},{"var":"csv_files_dir","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0","start-node"]}},"outputs":{"variables":{"o0":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"columns_metadata":{"collection":{"literals":[{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}}]}},"columns_to_normalize_metadata":{"collection":{"literals":[{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}}]}},"csv_urls":{"collection":{"literals":[{"scalar":{"primitive":{"stringValue":""}}}]}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.folders.download_files\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.folders.download_files"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"csv_urls":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputs":{"variables":{"o0":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.folders","task-name","download_files"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.folders.normalize_all_files\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.folders.normalize_all_files"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"columns_metadata":{"type":{"collectionType":{"collectionType":{"simple":"STRING"}}}},"columns_to_normalize_metadata":{"type":{"collectionType":{"collectionType":{"simple":"STRING"}}}},"csv_files_dir":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}},"outputs":{"variables":{"o0":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.folders","task-name","normalize_all_files"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf_crd.json index 44359f8f4b..09f8970902 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/112_core.flyte_basics.hello_world.my_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-hello-world-my-wf"}},"spec":{"id":"::core.flyte_basics.hello_world.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"say_hello","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.hello_world.say_hello\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.hello_world.say_hello\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.hello_world.say_hello"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.hello_world","task-name","say_hello"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-hello-world-my-wf"}},"spec":{"id":"::core.flyte_basics.hello_world.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"say_hello","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.hello_world.say_hello\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.hello_world.say_hello\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.hello_world.say_hello"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.hello_world","task-name","say_hello"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf_crd.json index c52156e33d..f03d2897cd 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/117_my.imperative.workflow.example_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"my-imperative-workflow-example"}},"spec":{"id":"::my.imperative.workflow.example","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"output_from_t1","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"output_list","binding":{"collection":{"bindings":[{"promise":{"nodeId":"n0","var":"o0"}},{"promise":{"nodeId":"n2","var":"o0"}}]}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"in1"}}}]},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t2\""},"n2":{"id":"n2","name":"t3","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t3\"","inputBindings":[{"var":"a","binding":{"collection":{"bindings":[{"promise":{"nodeId":"start-node","var":"in1"}},{"promise":{"nodeId":"start-node","var":"in2"}}]}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"edges":{"downstream":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"upstream":{"end-node":["n0","n1","n2"],"n0":["start-node"],"n1":["start-node"],"n2":["start-node"]}},"outputs":{"variables":{"output_from_t1":{"type":{"simple":"STRING"}},"output_list":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputBindings":[{"var":"output_from_t1","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"output_list","binding":{"collection":{"bindings":[{"promise":{"nodeId":"n0","var":"o0"}},{"promise":{"nodeId":"n2","var":"o0"}}]}}}]},"inputs":{"literals":{"in1":{"scalar":{"primitive":{"stringValue":""}}},"in2":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.imperative_wf_style.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.imperative_wf_style","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.imperative_wf_style.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.imperative_wf_style","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t3\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.imperative_wf_style.t3"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.imperative_wf_style","task-name","t3"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"my-imperative-workflow-example"}},"spec":{"id":"::my.imperative.workflow.example","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"output_from_t1","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"output_list","binding":{"collection":{"bindings":[{"promise":{"nodeId":"n0","var":"o0"}},{"promise":{"nodeId":"n2","var":"o0"}}]}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t1\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"in1"}}}]},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t2\""},"n2":{"id":"n2","name":"t3","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t3\"","inputBindings":[{"var":"a","binding":{"collection":{"bindings":[{"promise":{"nodeId":"start-node","var":"in1"}},{"promise":{"nodeId":"start-node","var":"in2"}}]}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"edges":{"downstream":{"n0":["end-node"],"n1":["end-node"],"n2":["end-node"],"start-node":["n0","n1","n2"]},"upstream":{"end-node":["n0","n1","n2"],"n0":["start-node"],"n1":["start-node"],"n2":["start-node"]}},"outputs":{"variables":{"output_from_t1":{"type":{"simple":"STRING"}},"output_list":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputBindings":[{"var":"output_from_t1","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"output_list","binding":{"collection":{"bindings":[{"promise":{"nodeId":"n0","var":"o0"}},{"promise":{"nodeId":"n2","var":"o0"}}]}}}]},"inputs":{"literals":{"in1":{"scalar":{"primitive":{"stringValue":""}}},"in2":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t1\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.imperative_wf_style.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.imperative_wf_style","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t2\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.imperative_wf_style.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.imperative_wf_style","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.imperative_wf_style.t3\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.imperative_wf_style.t3"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"collectionType":{"simple":"STRING"}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.imperative_wf_style","task-name","t3"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf_crd.json index 9f07a3e9a8..8b1596cfd2 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/120_core.flyte_basics.lp.my_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-lp-my-wf"}},"spec":{"id":"::core.flyte_basics.lp.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.lp.square\"","inputBindings":[{"var":"val","binding":{"promise":{"nodeId":"start-node","var":"val"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"val":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.lp.square\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.lp.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"val":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.lp","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-lp-my-wf"}},"spec":{"id":"::core.flyte_basics.lp.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"square","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.lp.square\"","inputBindings":[{"var":"val","binding":{"promise":{"nodeId":"start-node","var":"val"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"val":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.lp.square\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.lp.square"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"val":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"INTEGER"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.lp","task-name","square"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf_crd.json index 4daaecd067..442a3cb62d 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/125_core.flyte_basics.lp.go_greet_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-lp-go-greet"}},"spec":{"id":"::core.flyte_basics.lp.go_greet","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"greet","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.lp.greet\"","inputBindings":[{"var":"am","binding":{"promise":{"nodeId":"start-node","var":"am"}}},{"var":"day_of_week","binding":{"promise":{"nodeId":"start-node","var":"day_of_week"}}},{"var":"number","binding":{"promise":{"nodeId":"start-node","var":"number"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"am":{"scalar":{"primitive":{"boolean":false}}},"day_of_week":{"scalar":{"primitive":{"stringValue":""}}},"number":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.lp.greet\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.lp.greet"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"am":{"type":{"simple":"BOOLEAN"}},"day_of_week":{"type":{"simple":"STRING"}},"number":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.lp","task-name","greet"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-lp-go-greet"}},"spec":{"id":"::core.flyte_basics.lp.go_greet","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"greet","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.lp.greet\"","inputBindings":[{"var":"am","binding":{"promise":{"nodeId":"start-node","var":"am"}}},{"var":"day_of_week","binding":{"promise":{"nodeId":"start-node","var":"day_of_week"}}},{"var":"number","binding":{"promise":{"nodeId":"start-node","var":"number"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"am":{"scalar":{"primitive":{"boolean":false}}},"day_of_week":{"scalar":{"primitive":{"stringValue":""}}},"number":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.lp.greet\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.lp.greet"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"am":{"type":{"simple":"BOOLEAN"}},"day_of_week":{"type":{"simple":"STRING"}},"number":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.lp","task-name","greet"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf_crd.json index 78ca24e81f..14b4077584 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/129_core.flyte_basics.named_outputs.my_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-named-outputs-my-wf"}},"spec":{"id":"::core.flyte_basics.named_outputs.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"greet1","binding":{"promise":{"nodeId":"n0","var":"greet"}}},{"var":"greet2","binding":{"promise":{"nodeId":"n1","var":"greet"}}}]},"n0":{"id":"n0","name":"say_hello","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.named_outputs.say_hello\""},"n1":{"id":"n1","name":"say_hello","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.named_outputs.say_hello\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"n1":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["end-node"],"n1":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["start-node"]}},"outputs":{"variables":{"greet1":{"type":{"simple":"STRING"}},"greet2":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"greet1","binding":{"promise":{"nodeId":"n0","var":"greet"}}},{"var":"greet2","binding":{"promise":{"nodeId":"n1","var":"greet"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.named_outputs.say_hello\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.named_outputs.say_hello"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"greet":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.named_outputs","task-name","say_hello"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-named-outputs-my-wf"}},"spec":{"id":"::core.flyte_basics.named_outputs.my_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"greet1","binding":{"promise":{"nodeId":"n0","var":"greet"}}},{"var":"greet2","binding":{"promise":{"nodeId":"n1","var":"greet"}}}]},"n0":{"id":"n0","name":"say_hello","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.named_outputs.say_hello\""},"n1":{"id":"n1","name":"say_hello","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.named_outputs.say_hello\""},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"n1":["end-node"],"start-node":["n0","n1"]},"edges":{"downstream":{"n0":["end-node"],"n1":["end-node"],"start-node":["n0","n1"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["start-node"]}},"outputs":{"variables":{"greet1":{"type":{"simple":"STRING"}},"greet2":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"greet1","binding":{"promise":{"nodeId":"n0","var":"greet"}}},{"var":"greet2","binding":{"promise":{"nodeId":"n1","var":"greet"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.named_outputs.say_hello\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.named_outputs.say_hello"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"greet":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.named_outputs","task-name","say_hello"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf_crd.json index 439d645109..2e5525142b 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/140_core.flyte_basics.shell_task.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-shell-task-wf"}},"spec":{"id":"::core.flyte_basics.shell_task.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n3","var":"k"}}}]},"n0":{"id":"n0","name":"create_entities","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.shell_task.create_entities\""},"n1":{"id":"n1","name":"task_1","resources":{},"kind":"task","task":"resource_type:TASK name:\"task_1\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"task_2","resources":{},"kind":"task","task":"resource_type:TASK name:\"task_2\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n1","var":"i"}}},{"var":"y","binding":{"promise":{"nodeId":"n0","var":"o1"}}}]},"n3":{"id":"n3","name":"task_3","resources":{},"kind":"task","task":"resource_type:TASK name:\"task_3\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"y","binding":{"promise":{"nodeId":"n0","var":"o1"}}},{"var":"z","binding":{"promise":{"nodeId":"n2","var":"j"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1","n2","n3"],"n1":["n2"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1","n2","n3"],"n1":["n2"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n3"],"n0":["start-node"],"n1":["n0"],"n2":["n0","n1"],"n3":["n0","n2"]}},"outputs":{"variables":{"o0":{"type":{"blob":{}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n3","var":"k"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.shell_task.create_entities\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.shell_task.create_entities"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"blob":{}}},"o1":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","create_entities"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"task_1\"":{"id":{"resourceType":"TASK","name":"task_1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"blob":{}}}}},"outputs":{"variables":{"i":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"task_2\"":{"id":{"resourceType":"TASK","name":"task_2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"blob":{}}},"y":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}},"outputs":{"variables":{"j":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"task_3\"":{"id":{"resourceType":"TASK","name":"task_3"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"blob":{}}},"y":{"type":{"blob":{"dimensionality":"MULTIPART"}}},"z":{"type":{"blob":{}}}}},"outputs":{"variables":{"k":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","t3"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-shell-task-wf"}},"spec":{"id":"::core.flyte_basics.shell_task.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n3","var":"k"}}}]},"n0":{"id":"n0","name":"create_entities","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.shell_task.create_entities\""},"n1":{"id":"n1","name":"task_1","resources":{},"kind":"task","task":"resource_type:TASK name:\"task_1\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"task_2","resources":{},"kind":"task","task":"resource_type:TASK name:\"task_2\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n1","var":"i"}}},{"var":"y","binding":{"promise":{"nodeId":"n0","var":"o1"}}}]},"n3":{"id":"n3","name":"task_3","resources":{},"kind":"task","task":"resource_type:TASK name:\"task_3\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n0","var":"o0"}}},{"var":"y","binding":{"promise":{"nodeId":"n0","var":"o1"}}},{"var":"z","binding":{"promise":{"nodeId":"n2","var":"j"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1","n2","n3"],"n1":["n2"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1","n2","n3"],"n1":["n2"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n3"],"n0":["start-node"],"n1":["n0"],"n2":["n0","n1"],"n3":["n0","n2"]}},"outputs":{"variables":{"o0":{"type":{"blob":{}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n3","var":"k"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.shell_task.create_entities\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.shell_task.create_entities"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"blob":{}}},"o1":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","create_entities"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"task_1\"":{"id":{"resourceType":"TASK","name":"task_1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"blob":{}}}}},"outputs":{"variables":{"i":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"task_2\"":{"id":{"resourceType":"TASK","name":"task_2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"blob":{}}},"y":{"type":{"blob":{"dimensionality":"MULTIPART"}}}}},"outputs":{"variables":{"j":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"task_3\"":{"id":{"resourceType":"TASK","name":"task_3"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"blob":{}}},"y":{"type":{"blob":{"dimensionality":"MULTIPART"}}},"z":{"type":{"blob":{}}}}},"outputs":{"variables":{"k":{"type":{"blob":{}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.shell_task","task-name","t3"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf_crd.json index af63532ed8..878f35a9e4 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/147_core.flyte_basics.task_cache.cached_dataframe_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-task-cache-cached-dataframe-wf"}},"spec":{"id":"::core.flyte_basics.task_cache.cached_dataframe_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"uncached_data_reading_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.uncached_data_reading_task\""},"n1":{"id":"n1","name":"cached_data_processing_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.cached_data_processing_task\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"cached_data_processing_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.cached_data_processing_task\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n3":{"id":"n3","name":"compare_dataframes","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.compare_dataframes\"","inputBindings":[{"var":"df1","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"df2","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1","n2"],"n1":["n2","n3"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1","n2"],"n1":["n2","n3"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n3"],"n0":["start-node"],"n1":["n0"],"n2":["n0","n1"],"n3":["n1","n2"]}},"outputs":{}},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.task_cache.cached_data_processing_task\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.task_cache.cached_data_processing_task"},"type":"python-task","metadata":{"discoverable":true,"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{},"discoveryVersion":"1.0"},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.task_cache","task-name","cached_data_processing_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.task_cache.compare_dataframes\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.task_cache.compare_dataframes"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df1":{"type":{"structuredDatasetType":{"format":"parquet"}}},"df2":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.task_cache","task-name","compare_dataframes"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.task_cache.uncached_data_reading_task\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.task_cache.uncached_data_reading_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.task_cache","task-name","uncached_data_reading_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-flyte-basics-task-cache-cached-dataframe-wf"}},"spec":{"id":"::core.flyte_basics.task_cache.cached_dataframe_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"uncached_data_reading_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.uncached_data_reading_task\""},"n1":{"id":"n1","name":"cached_data_processing_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.cached_data_processing_task\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"cached_data_processing_task","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.cached_data_processing_task\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n3":{"id":"n3","name":"compare_dataframes","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.flyte_basics.task_cache.compare_dataframes\"","inputBindings":[{"var":"df1","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"df2","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1","n2"],"n1":["n2","n3"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1","n2"],"n1":["n2","n3"],"n2":["n3"],"n3":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n3"],"n0":["start-node"],"n1":["n0"],"n2":["n0","n1"],"n3":["n1","n2"]}},"outputs":{}},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.flyte_basics.task_cache.cached_data_processing_task\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.task_cache.cached_data_processing_task"},"type":"python-task","metadata":{"discoverable":true,"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{},"discoveryVersion":"1.0"},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.task_cache","task-name","cached_data_processing_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.task_cache.compare_dataframes\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.task_cache.compare_dataframes"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df1":{"type":{"structuredDatasetType":{"format":"parquet"}}},"df2":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.task_cache","task-name","compare_dataframes"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.flyte_basics.task_cache.uncached_data_reading_task\"":{"id":{"resourceType":"TASK","name":"core.flyte_basics.task_cache.uncached_data_reading_task"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.flyte_basics.task_cache","task-name","uncached_data_reading_task"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf_crd.json index 90097431d6..8b3e7192a6 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/151_core.scheduled_workflows.lp_schedules.date_formatter_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-scheduled-workflows-lp-schedules-date-formatter-wf"}},"spec":{"id":"::core.scheduled_workflows.lp_schedules.date_formatter_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"format_date","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.format_date\"","inputBindings":[{"var":"run_date","binding":{"promise":{"nodeId":"start-node","var":"kickoff_time"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{}},"inputs":{"literals":{"kickoff_time":{"scalar":{"primitive":{"datetime":"1970-01-01T00:00:00.000010Z"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.format_date\"":{"id":{"resourceType":"TASK","name":"core.scheduled_workflows.lp_schedules.format_date"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"run_date":{"type":{"simple":"DATETIME"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.scheduled_workflows.lp_schedules","task-name","format_date"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-scheduled-workflows-lp-schedules-date-formatter-wf"}},"spec":{"id":"::core.scheduled_workflows.lp_schedules.date_formatter_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"format_date","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.format_date\"","inputBindings":[{"var":"run_date","binding":{"promise":{"nodeId":"start-node","var":"kickoff_time"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{}},"inputs":{"literals":{"kickoff_time":{"scalar":{"primitive":{"datetime":"1970-01-01T00:00:00.000010Z"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.format_date\"":{"id":{"resourceType":"TASK","name":"core.scheduled_workflows.lp_schedules.format_date"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"run_date":{"type":{"simple":"DATETIME"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.scheduled_workflows.lp_schedules","task-name","format_date"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf_crd.json index df77c08c56..d13e864559 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/155_core.scheduled_workflows.lp_schedules.positive_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-scheduled-workflows-lp-schedules-positive-wf"}},"spec":{"id":"::core.scheduled_workflows.lp_schedules.positive_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"be_positive","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.be_positive\"","inputBindings":[{"var":"name","binding":{"promise":{"nodeId":"start-node","var":"name"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{}},"inputs":{"literals":{"name":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.be_positive\"":{"id":{"resourceType":"TASK","name":"core.scheduled_workflows.lp_schedules.be_positive"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"name":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.scheduled_workflows.lp_schedules","task-name","be_positive"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-scheduled-workflows-lp-schedules-positive-wf"}},"spec":{"id":"::core.scheduled_workflows.lp_schedules.positive_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end"},"n0":{"id":"n0","name":"be_positive","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.be_positive\"","inputBindings":[{"var":"name","binding":{"promise":{"nodeId":"start-node","var":"name"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{}},"inputs":{"literals":{"name":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.scheduled_workflows.lp_schedules.be_positive\"":{"id":{"resourceType":"TASK","name":"core.scheduled_workflows.lp_schedules.be_positive"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"name":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.scheduled_workflows.lp_schedules","task-name","be_positive"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf_crd.json index 995b73eb43..8202075bd9 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/162_core.type_system.custom_objects.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-custom-objects-wf"}},"spec":{"id":"::core.type_system.custom_objects.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n4","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"upload_result","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.upload_result\""},"n1":{"id":"n1","name":"download_result","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.download_result\"","inputBindings":[{"var":"res","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"stringify","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.stringify\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"x"}}}]},"n3":{"id":"n3","name":"stringify","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.stringify\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"y"}}}]},"n4":{"id":"n4","name":"add","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.add\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n2","var":"o0"}}},{"var":"y","binding":{"promise":{"nodeId":"n3","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"n2":["n4"],"n3":["n4"],"n4":["end-node"],"start-node":["n0","n2","n3"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"n2":["n4"],"n3":["n4"],"n4":["end-node"],"start-node":["n0","n2","n3"]},"upstream":{"end-node":["n0","n1","n4"],"n0":["start-node"],"n1":["n0"],"n2":["start-node"],"n3":["start-node"],"n4":["n2","n3"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}},"o1":{"type":{"simple":"STRUCT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n4","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"x":{"scalar":{"primitive":{"integer":"0"}}},"y":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.custom_objects.add\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.add"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"STRUCT"}},"y":{"type":{"simple":"STRUCT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","add"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.custom_objects.download_result\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.download_result"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"res":{"type":{"simple":"STRUCT"}}}},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","download_result"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.custom_objects.stringify\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.stringify"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","stringify"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.custom_objects.upload_result\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.upload_result"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","upload_result"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-custom-objects-wf"}},"spec":{"id":"::core.type_system.custom_objects.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n4","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"upload_result","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.upload_result\""},"n1":{"id":"n1","name":"download_result","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.download_result\"","inputBindings":[{"var":"res","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"stringify","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.stringify\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"x"}}}]},"n3":{"id":"n3","name":"stringify","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.stringify\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"start-node","var":"y"}}}]},"n4":{"id":"n4","name":"add","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.custom_objects.add\"","inputBindings":[{"var":"x","binding":{"promise":{"nodeId":"n2","var":"o0"}}},{"var":"y","binding":{"promise":{"nodeId":"n3","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"n2":["n4"],"n3":["n4"],"n4":["end-node"],"start-node":["n0","n2","n3"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"n2":["n4"],"n3":["n4"],"n4":["end-node"],"start-node":["n0","n2","n3"]},"upstream":{"end-node":["n0","n1","n4"],"n0":["start-node"],"n1":["n0"],"n2":["start-node"],"n3":["start-node"],"n4":["n2","n3"]}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}},"o1":{"type":{"simple":"STRUCT"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n4","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"x":{"scalar":{"primitive":{"integer":"0"}}},"y":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.custom_objects.add\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.add"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"STRUCT"}},"y":{"type":{"simple":"STRUCT"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","add"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.custom_objects.download_result\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.download_result"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"res":{"type":{"simple":"STRUCT"}}}},"outputs":{}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","download_result"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.custom_objects.stringify\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.stringify"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"x":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","stringify"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.custom_objects.upload_result\"":{"id":{"resourceType":"TASK","name":"core.type_system.custom_objects.upload_result"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"simple":"STRUCT"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.custom_objects","task-name","upload_result"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf_crd.json index f444766174..82cd20eee4 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/166_core.type_system.enums.enum_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-enums-enum-wf"}},"spec":{"id":"::core.type_system.enums.enum_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"enum_stringify","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.enums.enum_stringify\"","inputBindings":[{"var":"c","binding":{"promise":{"nodeId":"start-node","var":"c"}}}]},"n1":{"id":"n1","name":"string_to_enum","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.enums.string_to_enum\"","inputBindings":[{"var":"c","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"enumType":{"values":["red","green","blue"]}}},"o1":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"c":{"scalar":{"primitive":{"stringValue":"red"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.enums.enum_stringify\"":{"id":{"resourceType":"TASK","name":"core.type_system.enums.enum_stringify"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"c":{"type":{"enumType":{"values":["red","green","blue"]}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.enums","task-name","enum_stringify"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.enums.string_to_enum\"":{"id":{"resourceType":"TASK","name":"core.type_system.enums.string_to_enum"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"c":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"enumType":{"values":["red","green","blue"]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.enums","task-name","string_to_enum"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-enums-enum-wf"}},"spec":{"id":"::core.type_system.enums.enum_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"enum_stringify","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.enums.enum_stringify\"","inputBindings":[{"var":"c","binding":{"promise":{"nodeId":"start-node","var":"c"}}}]},"n1":{"id":"n1","name":"string_to_enum","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.enums.string_to_enum\"","inputBindings":[{"var":"c","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node","n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0","n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"enumType":{"values":["red","green","blue"]}}},"o1":{"type":{"simple":"STRING"}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}},{"var":"o1","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"c":{"scalar":{"primitive":{"stringValue":"red"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.enums.enum_stringify\"":{"id":{"resourceType":"TASK","name":"core.type_system.enums.enum_stringify"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"c":{"type":{"enumType":{"values":["red","green","blue"]}}}}},"outputs":{"variables":{"o0":{"type":{"simple":"STRING"}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.enums","task-name","enum_stringify"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.enums.string_to_enum\"":{"id":{"resourceType":"TASK","name":"core.type_system.enums.string_to_enum"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"c":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"enumType":{"values":["red","green","blue"]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.enums","task-name","string_to_enum"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf_crd.json index 4931bcc1e8..2133417402 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/169_core.type_system.flyte_pickle.welcome_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-flyte-pickle-welcome"}},"spec":{"id":"::core.type_system.flyte_pickle.welcome","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"greet","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.flyte_pickle.greet\"","inputBindings":[{"var":"name","binding":{"promise":{"nodeId":"start-node","var":"name"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"blob":{"format":"PythonPickle"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"name":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.flyte_pickle.greet\"":{"id":{"resourceType":"TASK","name":"core.type_system.flyte_pickle.greet"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"name":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"blob":{"format":"PythonPickle"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.flyte_pickle","task-name","greet"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-flyte-pickle-welcome"}},"spec":{"id":"::core.type_system.flyte_pickle.welcome","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n0":{"id":"n0","name":"greet","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.flyte_pickle.greet\"","inputBindings":[{"var":"name","binding":{"promise":{"nodeId":"start-node","var":"name"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n0"],"n0":["start-node"]}},"outputs":{"variables":{"o0":{"type":{"blob":{"format":"PythonPickle"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"inputs":{"literals":{"name":{"scalar":{"primitive":{"stringValue":""}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.flyte_pickle.greet\"":{"id":{"resourceType":"TASK","name":"core.type_system.flyte_pickle.greet"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"name":{"type":{"simple":"STRING"}}}},"outputs":{"variables":{"o0":{"type":{"blob":{"format":"PythonPickle"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.flyte_pickle","task-name","greet"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf_crd.json index 51a5ed6cc1..81972d79b5 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/173_core.type_system.schema.df_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-schema-df-wf"}},"spec":{"id":"::core.type_system.schema.df_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"get_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.schema.get_df\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"add_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.schema.add_df\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.schema.add_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.schema.add_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.schema","task-name","add_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.schema.get_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.schema.get_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.schema","task-name","get_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-schema-df-wf"}},"spec":{"id":"::core.type_system.schema.df_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"get_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.schema.get_df\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"add_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.schema.add_df\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.schema.add_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.schema.add_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.schema","task-name","add_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.schema.get_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.schema.get_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.schema","task-name","get_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf_crd.json index 155cf0e21b..e91664b10b 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/179_core.type_system.structured_dataset.pandas_compatibility_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-structured-dataset-pandas-compatibility-wf"}},"spec":{"id":"::core.type_system.structured_dataset.pandas_compatibility_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"get_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_df\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"get_subset_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"to_numpy","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"","inputBindings":[{"var":"ds","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n2"],"n0":["start-node"],"n1":["n0"],"n2":["n1"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.structured_dataset.get_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Name","literalType":{"simple":"STRING"}},{"name":"Age","literalType":{"simple":"INTEGER"}},{"name":"Height","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_subset_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_subset_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.to_numpy"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"ds":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","to_numpy"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-structured-dataset-pandas-compatibility-wf"}},"spec":{"id":"::core.type_system.structured_dataset.pandas_compatibility_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"get_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_df\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"get_subset_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"to_numpy","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"","inputBindings":[{"var":"ds","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n2"],"n0":["start-node"],"n1":["n0"],"n2":["n1"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.structured_dataset.get_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Name","literalType":{"simple":"STRING"}},{"name":"Age","literalType":{"simple":"INTEGER"}},{"name":"Height","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_subset_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_subset_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.to_numpy"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"ds":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","to_numpy"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf_crd.json index 7b20b44379..e4d5b24f31 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/181_core.type_system.structured_dataset.schema_compatibility_wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-structured-dataset-schema-compatibility-wf"}},"spec":{"id":"::core.type_system.structured_dataset.schema_compatibility_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"get_schema_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_schema_df\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"get_subset_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"to_numpy","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"","inputBindings":[{"var":"ds","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n2"],"n0":["start-node"],"n1":["n0"],"n2":["n1"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.structured_dataset.get_schema_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_schema_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"Name","type":"STRING"},{"name":"Age"},{"name":"Height"}]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_schema_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_subset_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_subset_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.to_numpy"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"ds":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","to_numpy"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-structured-dataset-schema-compatibility-wf"}},"spec":{"id":"::core.type_system.structured_dataset.schema_compatibility_wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"n0":{"id":"n0","name":"get_schema_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_schema_df\"","inputBindings":[{"var":"a","binding":{"promise":{"nodeId":"start-node","var":"a"}}}]},"n1":{"id":"n1","name":"get_subset_df","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"","inputBindings":[{"var":"df","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"n2":{"id":"n2","name":"to_numpy","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"","inputBindings":[{"var":"ds","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["n2"],"n2":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n2"],"n0":["start-node"],"n1":["n0"],"n2":["n1"]}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n2","var":"o0"}}}]},"inputs":{"literals":{"a":{"scalar":{"primitive":{"integer":"0"}}}}},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.structured_dataset.get_schema_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_schema_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"a":{"type":{"simple":"INTEGER"}}}},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"Name","type":"STRING"},{"name":"Age"},{"name":"Height"}]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_schema_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.get_subset_df\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.get_subset_df"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"df":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","get_subset_df"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.structured_dataset.to_numpy\"":{"id":{"resourceType":"TASK","name":"core.type_system.structured_dataset.to_numpy"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"ds":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}},"outputs":{"variables":{"o0":{"type":{"structuredDatasetType":{"columns":[{"name":"Age","literalType":{"simple":"INTEGER"}}],"format":"parquet"}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.structured_dataset","task-name","to_numpy"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf_crd.json b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf_crd.json index aba5945e90..f1cb7c4fb5 100755 --- a/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf_crd.json +++ b/flytepropeller/pkg/compiler/test/testdata/snacks-core/k8s/185_core.type_system.typed_schema.wf_2_wf_crd.json @@ -1 +1 @@ -{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-typed-schema-wf"}},"spec":{"id":"::core.type_system.typed_schema.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.typed_schema.t1\""},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.typed_schema.t2\"","inputBindings":[{"var":"schema","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"x"}]}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.typed_schema.t1\"":{"id":{"resourceType":"TASK","name":"core.type_system.typed_schema.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"x"},{"name":"y","type":"STRING"}]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.typed_schema","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.typed_schema.t2\"":{"id":{"resourceType":"TASK","name":"core.type_system.typed_schema.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"schema":{"type":{"schema":{"columns":[{"name":"x"},{"name":"y","type":"STRING"}]}}}}},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"x"}]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.typed_schema","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null}} \ No newline at end of file +{"kind":"flyteworkflow","apiVersion":"flyte.lyft.com/v1alpha1","metadata":{"name":"name","namespace":"namespace","creationTimestamp":null,"labels":{"domain":"domain","execution-id":"name","project":"hello","shard-key":"6","workflow-name":"core-type-system-typed-schema-wf"}},"spec":{"id":"::core.type_system.typed_schema.wf","nodes":{"end-node":{"id":"end-node","resources":{},"kind":"end","inputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"n0":{"id":"n0","name":"t1","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.typed_schema.t1\""},"n1":{"id":"n1","name":"t2","resources":{},"kind":"task","task":"resource_type:TASK name:\"core.type_system.typed_schema.t2\"","inputBindings":[{"var":"schema","binding":{"promise":{"nodeId":"n0","var":"o0"}}}]},"start-node":{"id":"start-node","resources":{},"kind":"start"}},"connections":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"edges":{"downstream":{"n0":["n1"],"n1":["end-node"],"start-node":["n0"]},"upstream":{"end-node":["n1"],"n0":["start-node"],"n1":["n0"]}},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"x"}]}}}}},"outputBindings":[{"var":"o0","binding":{"promise":{"nodeId":"n1","var":"o0"}}}]},"inputs":{},"executionId":{},"tasks":{"resource_type:TASK name:\"core.type_system.typed_schema.t1\"":{"id":{"resourceType":"TASK","name":"core.type_system.typed_schema.t1"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"x"},{"name":"y","type":"STRING"}]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.typed_schema","task-name","t1"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}},"resource_type:TASK name:\"core.type_system.typed_schema.t2\"":{"id":{"resourceType":"TASK","name":"core.type_system.typed_schema.t2"},"type":"python-task","metadata":{"runtime":{"type":"FLYTE_SDK","version":"0.32.6","flavor":"python"},"retries":{}},"interface":{"inputs":{"variables":{"schema":{"type":{"schema":{"columns":[{"name":"x"},{"name":"y","type":"STRING"}]}}}}},"outputs":{"variables":{"o0":{"type":{"schema":{"columns":[{"name":"x"}]}}}}}},"container":{"image":"ghcr.io/flyteorg/flytecookbook:core-8b8e1a849c9adfca88049a074b10dad278f70077","args":["pyflyte-execute","--inputs","{{.input}}","--output-prefix","{{.outputPrefix}}","--raw-output-data-prefix","{{.rawOutputDataPrefix}}","--checkpoint-path","{{.checkpointOutputPrefix}}","--prev-checkpoint","{{.prevCheckpointPrefix}}","--resolver","flytekit.core.python_auto_container.default_task_resolver","--","task-module","core.type_system.typed_schema","task-name","t2"],"resources":{},"config":[{"key":"testKey1","value":"testValue1"},{"key":"testKey2","value":"testValue2"},{"key":"testKey3","value":"testValue3"}]}}},"node-defaults":{},"securityContext":{},"status":{"phase":0},"rawOutputDataConfig":{},"executionConfig":{"TaskPluginImpls":null,"MaxParallelism":0,"RecoveryExecution":{},"TaskResources":{"Requests":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"},"Limits":{"CPU":"0","Memory":"0","EphemeralStorage":"0","Storage":"0","GPU":"0"}},"Interruptible":null,"OverwriteCache":false,"EnvironmentVariables":null,"ExternalResourceAttribute":{"Connections":null}}} \ No newline at end of file diff --git a/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go b/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go index 526f41977a..1e8422a07d 100644 --- a/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go +++ b/flytepropeller/pkg/controller/nodes/dynamic/dynamic_workflow_test.go @@ -496,7 +496,7 @@ func Test_dynamicNodeHandler_buildContextualDynamicWorkflow_withLaunchPlans(t *t composedPBStore.OnWriteRawMatch( mock.MatchedBy(func(ctx context.Context) bool { return true }), storage.DataReference("s3://my-s3-bucket/foo/bar/futures_compiled.pb"), - int64(1501), + int64(1550), storage.Options{}, mock.MatchedBy(func(rdr *bytes.Reader) bool { return true })).Return(errors.New("foo")) diff --git a/flytepropeller/pkg/controller/nodes/task/taskexec_context.go b/flytepropeller/pkg/controller/nodes/task/taskexec_context.go index 25b936a8e4..c8a883e02a 100644 --- a/flytepropeller/pkg/controller/nodes/task/taskexec_context.go +++ b/flytepropeller/pkg/controller/nodes/task/taskexec_context.go @@ -9,6 +9,7 @@ import ( v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" + "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/admin" "github.com/flyteorg/flyte/flyteidl/gen/pb-go/flyteidl/core" pluginCatalog "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/catalog" pluginCore "github.com/flyteorg/flyte/flyteplugins/go/tasks/pluginmachinery/core" @@ -65,11 +66,12 @@ func (te taskExecutionID) GetGeneratedNameWith(minLength, maxLength int) (string type taskExecutionMetadata struct { interfaces.NodeExecutionMetadata - taskExecID taskExecutionID - o pluginCore.TaskOverrides - maxAttempts uint32 - platformResources *v1.ResourceRequirements - environmentVariables map[string]string + taskExecID taskExecutionID + o pluginCore.TaskOverrides + maxAttempts uint32 + platformResources *v1.ResourceRequirements + environmentVariables map[string]string + externalResourceAttribute *admin.ExternalResourceAttributes } func (t taskExecutionMetadata) GetTaskExecutionID() pluginCore.TaskExecutionID { @@ -92,6 +94,10 @@ func (t taskExecutionMetadata) GetEnvironmentVariables() map[string]string { return t.environmentVariables } +func (t taskExecutionMetadata) GetExternalResourceAttributes() *admin.ExternalResourceAttributes { + return t.externalResourceAttribute +} + type taskExecutionContext struct { interfaces.NodeExecutionContext tm taskExecutionMetadata @@ -206,7 +212,20 @@ func convertTaskResourcesToRequirements(taskResources v1alpha1.TaskResources) *v utils.ResourceNvidiaGPU: taskResources.Limits.GPU, }, } +} +func convertExternalResourceAttribute(externalResourceAttribute v1alpha1.ExternalResourceAttributes) *admin.ExternalResourceAttributes { + connections := make(map[string]*core.Connection) + for k, v := range externalResourceAttribute.Connections { + connections[k] = &core.Connection{ + Secrets: v.Secrets, + Configs: v.Configs, + } + } + + return &admin.ExternalResourceAttributes{ + Connections: connections, + } } // ComputeRawOutputPrefix constructs the output directory, where raw outputs of a task can be stored by the task. FlytePropeller may not have @@ -299,10 +318,11 @@ func (t *Handler) newTaskExecutionContext(ctx context.Context, nCtx interfaces.N id: id, uniqueNodeID: currentNodeUniqueID, }, - o: nCtx.Node(), - maxAttempts: maxAttempts, - platformResources: convertTaskResourcesToRequirements(nCtx.ExecutionContext().GetExecutionConfig().TaskResources), - environmentVariables: nCtx.ExecutionContext().GetExecutionConfig().EnvironmentVariables, + o: nCtx.Node(), + maxAttempts: maxAttempts, + platformResources: convertTaskResourcesToRequirements(nCtx.ExecutionContext().GetExecutionConfig().TaskResources), + environmentVariables: nCtx.ExecutionContext().GetExecutionConfig().EnvironmentVariables, + externalResourceAttribute: convertExternalResourceAttribute(nCtx.ExecutionContext().GetExecutionConfig().ExternalResourceAttribute), }, rm: resourcemanager.GetTaskResourceManager( t.resourceManager, resourceNamespacePrefix, id),