Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See License.txt in the project root for license information.
/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */
package com.microsoft.azure.management.batchai.implementation; import com.microsoft.azure.management.apigeneration.LangDefinition; import com.microsoft.azure.management.batchai.BatchAICluster; import com.microsoft.azure.management.batchai.EnvironmentVariable; import com.microsoft.azure.management.batchai.EnvironmentVariableWithSecretValue; import com.microsoft.azure.management.batchai.KeyVaultSecretReference; import com.microsoft.azure.management.batchai.NodeSetupTask; import com.microsoft.azure.management.batchai.ResourceId; import com.microsoft.azure.management.batchai.SetupTask; import com.microsoft.azure.management.resources.fluentcore.model.implementation.IndexableWrapperImpl; import java.util.ArrayList; import java.util.List;
Implementation for NodeSetupTask and its create interface.
/** * Implementation for NodeSetupTask and its create interface. */
@LangDefinition class NodeSetupTaskImpl extends IndexableWrapperImpl<SetupTask> implements NodeSetupTask, NodeSetupTask.Definition<BatchAICluster.DefinitionStages.WithCreate> { private BatchAIClusterImpl parent; NodeSetupTaskImpl(SetupTask inner, BatchAIClusterImpl parent) { super(inner); this.parent = parent; } @Override public BatchAIClusterImpl attach() { return this.parent.withSetupTask(this); } @Override public NodeSetupTaskImpl withCommandLine(String commandLine) { inner().withCommandLine(commandLine); return this; } @Override public NodeSetupTaskImpl withStdOutErrPath(String stdOutErrPathPrefix) { inner().withStdOutErrPathPrefix(stdOutErrPathPrefix); return this; } @Override public NodeSetupTaskImpl withEnvironmentVariable(String name, String value) { ensureEnvironmentVariables().add(new EnvironmentVariable().withName(name).withValue(value)); return this; } private List<EnvironmentVariable> ensureEnvironmentVariables() { if (inner().environmentVariables() == null) { inner().withEnvironmentVariables(new ArrayList<EnvironmentVariable>()); } return inner().environmentVariables(); } @Override public NodeSetupTaskImpl withEnvironmentVariableSecretValue(String name, String value) { ensureEnvironmentVariablesWithSecrets().add(new EnvironmentVariableWithSecretValue().withName(name).withValue(value)); return this; } @Override public NodeSetupTaskImpl withEnvironmentVariableSecretValue(String name, String keyVaultId, String secretUrl) { KeyVaultSecretReference secretReference = new KeyVaultSecretReference() .withSourceVault(new ResourceId().withId(keyVaultId)).withSecretUrl(secretUrl); ensureEnvironmentVariablesWithSecrets().add(new EnvironmentVariableWithSecretValue().withName(name).withValueSecretReference(secretReference)); return this; } private List<EnvironmentVariableWithSecretValue> ensureEnvironmentVariablesWithSecrets() { if (inner().secrets() == null) { inner().withSecrets(new ArrayList<EnvironmentVariableWithSecretValue>()); } return inner().secrets(); } @Override public BatchAICluster parent() { return parent; } }