Documentation
¶
Index ¶
- Constants
- Variables
- func DeployTemplateSync(az ACSEngineClient, logger *logrus.Entry, ...) error
- type ACSEngineClient
- type ACSStorageClient
- type AzureClient
- func NewAzureClientWithClientCertificate(env azure.Environment, subscriptionID, clientID string, ...) (*AzureClient, error)
- func NewAzureClientWithClientCertificateFile(env azure.Environment, ...) (*AzureClient, error)
- func NewAzureClientWithClientSecret(env azure.Environment, subscriptionID, clientID, clientSecret string) (*AzureClient, error)
- func NewAzureClientWithDeviceAuth(env azure.Environment, subscriptionID string) (*AzureClient, error)
- func (az *AzureClient) AddAcceptLanguages(languages []string)
- func (az *AzureClient) CheckDeploymentExistence(resourceGroupName string, deploymentName string) (result autorest.Response, err error)
- func (az *AzureClient) CheckResourceGroupExistence(name string) (result autorest.Response, err error)
- func (az *AzureClient) CreateApp(appName, appURL string, replyURLs *[]string, ...) (applicationID, servicePrincipalObjectID, servicePrincipalClientSecret string, ...)
- func (az *AzureClient) CreateGraphApplication(applicationCreateParameters graphrbac.ApplicationCreateParameters) (graphrbac.Application, error)
- func (az *AzureClient) CreateGraphPrincipal(servicePrincipalCreateParameters graphrbac.ServicePrincipalCreateParameters) (graphrbac.ServicePrincipal, error)
- func (az *AzureClient) CreateRoleAssignment(scope string, roleAssignmentName string, ...) (authorization.RoleAssignment, error)
- func (az *AzureClient) CreateRoleAssignmentSimple(resourceGroup, servicePrincipalObjectID string) error
- func (az *AzureClient) DeleteManagedDisk(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error)
- func (az *AzureClient) DeleteNetworkInterface(resourceGroup, nicName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error)
- func (az *AzureClient) DeleteResourceGroup(name string, cancel chan struct{}) (<-chan autorest.Response, <-chan error)
- func (az *AzureClient) DeleteRoleAssignmentByID(roleAssignmentID string) (authorization.RoleAssignment, error)
- func (az *AzureClient) DeleteVirtualMachine(resourceGroup, name string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
- func (az *AzureClient) DeleteVirtualMachineScaleSetVM(resourceGroup, virtualMachineScaleSet, instanceID string, ...) (<-chan compute.OperationStatusResponse, <-chan error)
- func (az *AzureClient) DeployTemplate(resourceGroupName, deploymentName string, template map[string]interface{}, ...) (*resources.DeploymentExtended, error)
- func (az *AzureClient) EnsureProvidersRegistered(subscriptionID string) error
- func (az *AzureClient) EnsureResourceGroup(name, location string, managedBy *string) (resourceGroup *resources.Group, err error)
- func (az *AzureClient) GetDeployment(resourceGroupName, deploymentName string) (result resources.DeploymentExtended, err error)
- func (az *AzureClient) GetKubernetesClient(masterURL, kubeConfig string, interval, timeout time.Duration) (KubernetesClient, error)
- func (az *AzureClient) GetStorageClient(resourceGroup, accountName string) (ACSStorageClient, error)
- func (az *AzureClient) GetVirtualMachine(resourceGroup, name string) (compute.VirtualMachine, error)
- func (az *AzureClient) ListDeploymentOperations(resourceGroupName string, deploymentName string, top *int32) (result resources.DeploymentOperationsListResult, err error)
- func (az *AzureClient) ListDeploymentOperationsNextResults(lastResults resources.DeploymentOperationsListResult) (result resources.DeploymentOperationsListResult, err error)
- func (az *AzureClient) ListManagedDisksByResourceGroup(resourceGroupName string) (result disk.ListType, err error)
- func (az *AzureClient) ListProviders() (resources.ProviderListResult, error)
- func (az *AzureClient) ListRoleAssignmentsForPrincipal(scope string, principalID string) (authorization.RoleAssignmentListResult, error)
- func (az *AzureClient) ListVirtualMachineScaleSetVMs(resourceGroup, virtualMachineScaleSet string) (compute.VirtualMachineScaleSetVMListResult, error)
- func (az *AzureClient) ListVirtualMachineScaleSets(resourceGroup string) (compute.VirtualMachineScaleSetListResult, error)
- func (az *AzureClient) ListVirtualMachines(resourceGroup string) (compute.VirtualMachineListResult, error)
- func (az *AzureClient) SetVirtualMachineScaleSetCapacity(resourceGroup, virtualMachineScaleSet string, sku compute.Sku, location string, ...) (<-chan compute.VirtualMachineScaleSet, <-chan error)
- func (az *AzureClient) ValidateTemplate(resourceGroupName string, deploymentName string, ...) (result resources.DeploymentValidateResult, err error)
- type AzureStorageClient
- type DeploymentError
- type DeploymentValidationError
- type KubernetesClient
- type KubernetesClientSetClient
- func (c *KubernetesClientSetClient) DeleteNode(name string) error
- func (c *KubernetesClientSetClient) DeletePod(pod *v1.Pod) error
- func (c *KubernetesClientSetClient) EvictPod(pod *v1.Pod, policyGroupVersion string) error
- func (c *KubernetesClientSetClient) GetNode(name string) (*v1.Node, error)
- func (c *KubernetesClientSetClient) ListPods(node *v1.Node) (*v1.PodList, error)
- func (c *KubernetesClientSetClient) SupportEviction() (string, error)
- func (c *KubernetesClientSetClient) UpdateNode(node *v1.Node) (*v1.Node, error)
- func (c *KubernetesClientSetClient) WaitForDelete(logger *log.Entry, pods []v1.Pod, usingEviction bool) ([]v1.Pod, error)
- type MockACSEngineClient
- func (mc *MockACSEngineClient) AddAcceptLanguages(languages []string)
- func (mc *MockACSEngineClient) CreateApp(applicationName, applicationURL string, replyURLs *[]string, ...) (applicationID, servicePrincipalObjectID, secret string, err error)
- func (mc *MockACSEngineClient) CreateGraphApplication(applicationCreateParameters graphrbac.ApplicationCreateParameters) (graphrbac.Application, error)
- func (mc *MockACSEngineClient) CreateGraphPrincipal(servicePrincipalCreateParameters graphrbac.ServicePrincipalCreateParameters) (graphrbac.ServicePrincipal, error)
- func (mc *MockACSEngineClient) CreateRoleAssignment(scope string, roleAssignmentName string, ...) (authorization.RoleAssignment, error)
- func (mc *MockACSEngineClient) CreateRoleAssignmentSimple(applicationID, roleID string) error
- func (mc *MockACSEngineClient) DeleteManagedDisk(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error)
- func (mc *MockACSEngineClient) DeleteNetworkInterface(resourceGroup, nicName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error)
- func (mc *MockACSEngineClient) DeleteRoleAssignmentByID(roleAssignmentID string) (authorization.RoleAssignment, error)
- func (mc *MockACSEngineClient) DeleteVirtualMachine(resourceGroup, name string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
- func (mc *MockACSEngineClient) DeleteVirtualMachineScaleSetVM(resourceGroup, virtualMachineScaleSet, instanceID string, ...) (<-chan compute.OperationStatusResponse, <-chan error)
- func (mc *MockACSEngineClient) DeployTemplate(resourceGroup, name string, template, parameters map[string]interface{}, ...) (*resources.DeploymentExtended, error)
- func (mc *MockACSEngineClient) EnsureResourceGroup(resourceGroup, location string, managedBy *string) (*resources.Group, error)
- func (mc *MockACSEngineClient) GetKubernetesClient(masterURL, kubeConfig string, interval, timeout time.Duration) (KubernetesClient, error)
- func (mc *MockACSEngineClient) GetStorageClient(resourceGroup, accountName string) (ACSStorageClient, error)
- func (mc *MockACSEngineClient) GetVirtualMachine(resourceGroup, name string) (compute.VirtualMachine, error)
- func (mc *MockACSEngineClient) ListDeploymentOperations(resourceGroupName string, deploymentName string, top *int32) (result resources.DeploymentOperationsListResult, err error)
- func (mc *MockACSEngineClient) ListDeploymentOperationsNextResults(lastResults resources.DeploymentOperationsListResult) (result resources.DeploymentOperationsListResult, err error)
- func (mc *MockACSEngineClient) ListManagedDisksByResourceGroup(resourceGroupName string) (result disk.ListType, err error)
- func (mc *MockACSEngineClient) ListProviders() (resources.ProviderListResult, error)
- func (mc *MockACSEngineClient) ListRoleAssignmentsForPrincipal(scope string, principalID string) (authorization.RoleAssignmentListResult, error)
- func (mc *MockACSEngineClient) ListVirtualMachineScaleSetVMs(resourceGroup, virtualMachineScaleSet string) (compute.VirtualMachineScaleSetVMListResult, error)
- func (mc *MockACSEngineClient) ListVirtualMachineScaleSets(resourceGroup string) (compute.VirtualMachineScaleSetListResult, error)
- func (mc *MockACSEngineClient) ListVirtualMachines(resourceGroup string) (compute.VirtualMachineListResult, error)
- func (mc *MockACSEngineClient) SetVirtualMachineScaleSetCapacity(resourceGroup, virtualMachineScaleSet string, sku compute.Sku, location string, ...) (<-chan compute.VirtualMachineScaleSet, <-chan error)
- type MockKubernetesClient
- func (mkc *MockKubernetesClient) DeleteNode(name string) error
- func (mkc *MockKubernetesClient) DeletePod(pod *v1.Pod) error
- func (mkc *MockKubernetesClient) EvictPod(pod *v1.Pod, policyGroupVersion string) error
- func (mkc *MockKubernetesClient) GetNode(name string) (*v1.Node, error)
- func (mkc *MockKubernetesClient) ListPods(node *v1.Node) (*v1.PodList, error)
- func (mkc *MockKubernetesClient) SupportEviction() (string, error)
- func (mkc *MockKubernetesClient) UpdateNode(node *v1.Node) (*v1.Node, error)
- func (mkc *MockKubernetesClient) WaitForDelete(logger *log.Entry, pods []v1.Pod, usingEviction bool) ([]v1.Pod, error)
- type MockStorageClient
Constants ¶
const ( // AADContributorRoleID is the role id that exists in every subscription for 'Contributor' AADContributorRoleID = "b24988ac-6180-42a0-ab88-20f7382dd24c" // AADRoleReferenceTemplate is a template for a roleDefinitionId AADRoleReferenceTemplate = "/subscriptions/%s/providers/Microsoft.Authorization/roleDefinitions/%s" // AADRoleResourceGroupScopeTemplate is a template for a roleDefinition scope AADRoleResourceGroupScopeTemplate = "/subscriptions/%s/resourceGroups/%s" )
const (
// ApplicationDir is the name of the dir where the token is cached
ApplicationDir = ".acsengine"
)
Variables ¶
var ( // RequiredResourceProviders is the list of Azure Resource Providers needed for ACS-Engine to function RequiredResourceProviders = []string{"Microsoft.Compute", "Microsoft.Storage", "Microsoft.Network"} )
Functions ¶
func DeployTemplateSync ¶ added in v0.13.0
func DeployTemplateSync(az ACSEngineClient, logger *logrus.Entry, resourceGroupName, deploymentName string, template map[string]interface{}, parameters map[string]interface{}) error
DeployTemplateSync deploys the template and returns ArmError
Types ¶
type ACSEngineClient ¶
type ACSEngineClient interface {
//AddAcceptLanguages sets the list of languages to accept on this request
AddAcceptLanguages(languages []string)
// DeployTemplate can deploy a template into Azure ARM
DeployTemplate(resourceGroup, name string, template, parameters map[string]interface{}, cancel <-chan struct{}) (*resources.DeploymentExtended, error)
// EnsureResourceGroup ensures the specified resource group exists in the specified location
EnsureResourceGroup(resourceGroup, location string, managedBy *string) (*resources.Group, error)
// List lists VM resources
ListVirtualMachines(resourceGroup string) (compute.VirtualMachineListResult, error)
// GetVirtualMachine retrieves the specified virtual machine.
GetVirtualMachine(resourceGroup, name string) (compute.VirtualMachine, error)
// DeleteVirtualMachine deletes the specified virtual machine.
DeleteVirtualMachine(resourceGroup, name string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
// ListVirtualMachineScaleSets lists the vmss resources in the resource group
ListVirtualMachineScaleSets(resourceGroup string) (compute.VirtualMachineScaleSetListResult, error)
// ListVirtualMachineScaleSetVMs lists the virtual machines contained in a vmss
ListVirtualMachineScaleSetVMs(resourceGroup, virtualMachineScaleSet string) (compute.VirtualMachineScaleSetVMListResult, error)
// DeleteVirtualMachineScaleSetVM deletes a VM in a VMSS
DeleteVirtualMachineScaleSetVM(resourceGroup, virtualMachineScaleSet, instanceID string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
// SetVirtualMachineScaleSetCapacity sets the VMSS capacity
SetVirtualMachineScaleSetCapacity(resourceGroup, virtualMachineScaleSet string, sku compute.Sku, location string, cancel <-chan struct{}) (<-chan compute.VirtualMachineScaleSet, <-chan error)
// GetStorageClient uses SRP to retrieve keys, and then an authenticated client for talking to the specified storage
// account.
GetStorageClient(resourceGroup, accountName string) (ACSStorageClient, error)
// DeleteNetworkInterface deletes the specified network interface.
DeleteNetworkInterface(resourceGroup, nicName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error)
// CreateGraphAppliction creates an application via the graphrbac client
CreateGraphApplication(applicationCreateParameters graphrbac.ApplicationCreateParameters) (graphrbac.Application, error)
// CreateGraphPrincipal creates a service principal via the graphrbac client
CreateGraphPrincipal(servicePrincipalCreateParameters graphrbac.ServicePrincipalCreateParameters) (graphrbac.ServicePrincipal, error)
CreateApp(applicationName, applicationURL string, replyURLs *[]string, requiredResourceAccess *[]graphrbac.RequiredResourceAccess) (applicationID, servicePrincipalObjectID, secret string, err error)
// RBAC
CreateRoleAssignment(scope string, roleAssignmentName string, parameters authorization.RoleAssignmentCreateParameters) (authorization.RoleAssignment, error)
CreateRoleAssignmentSimple(applicationID, roleID string) error
DeleteRoleAssignmentByID(roleAssignmentNameID string) (authorization.RoleAssignment, error)
ListRoleAssignmentsForPrincipal(scope string, principalID string) (authorization.RoleAssignmentListResult, error)
// MANAGED DISKS
DeleteManagedDisk(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error)
ListManagedDisksByResourceGroup(resourceGroupName string) (result disk.ListType, err error)
GetKubernetesClient(masterURL, kubeConfig string, interval, timeout time.Duration) (KubernetesClient, error)
ListProviders() (resources.ProviderListResult, error)
// ListDeploymentOperations gets all deployments operations for a deployment.
ListDeploymentOperations(resourceGroupName string, deploymentName string, top *int32) (result resources.DeploymentOperationsListResult, err error)
// ListDeploymentOperationsNextResults retrieves the next set of results, if any.
ListDeploymentOperationsNextResults(lastResults resources.DeploymentOperationsListResult) (result resources.DeploymentOperationsListResult, err error)
}
ACSEngineClient is the interface used to talk to an Azure environment. This interface exposes just the subset of Azure APIs and clients needed for ACS-Engine.
type ACSStorageClient ¶
type ACSStorageClient interface {
// DeleteBlob deletes the specified blob in the specified container.
DeleteBlob(container, blob string) error
}
ACSStorageClient interface models the azure storage client
type AzureClient ¶
type AzureClient struct {
// contains filtered or unexported fields
}
AzureClient implements the `ACSEngineClient` interface. This client is backed by real Azure clients talking to an ARM endpoint.
func NewAzureClientWithClientCertificate ¶
func NewAzureClientWithClientCertificate(env azure.Environment, subscriptionID, clientID string, certificate *x509.Certificate, privateKey *rsa.PrivateKey) (*AzureClient, error)
NewAzureClientWithClientCertificate returns an AzureClient via client_id and jwt certificate assertion
func NewAzureClientWithClientCertificateFile ¶ added in v0.2.0
func NewAzureClientWithClientCertificateFile(env azure.Environment, subscriptionID, clientID, certificatePath, privateKeyPath string) (*AzureClient, error)
NewAzureClientWithClientCertificateFile returns an AzureClient via client_id and jwt certificate assertion
func NewAzureClientWithClientSecret ¶
func NewAzureClientWithClientSecret(env azure.Environment, subscriptionID, clientID, clientSecret string) (*AzureClient, error)
NewAzureClientWithClientSecret returns an AzureClient via client_id and client_secret
func NewAzureClientWithDeviceAuth ¶
func NewAzureClientWithDeviceAuth(env azure.Environment, subscriptionID string) (*AzureClient, error)
NewAzureClientWithDeviceAuth returns an AzureClient by having a user complete a device authentication flow
func (*AzureClient) AddAcceptLanguages ¶ added in v0.2.0
func (az *AzureClient) AddAcceptLanguages(languages []string)
AddAcceptLanguages sets the list of languages to accept on this request
func (*AzureClient) CheckDeploymentExistence ¶ added in v0.2.0
func (az *AzureClient) CheckDeploymentExistence(resourceGroupName string, deploymentName string) (result autorest.Response, err error)
CheckDeploymentExistence returns if the deployment already exists
func (*AzureClient) CheckResourceGroupExistence ¶ added in v0.3.0
func (az *AzureClient) CheckResourceGroupExistence(name string) (result autorest.Response, err error)
CheckResourceGroupExistence return if the resource group exists
func (*AzureClient) CreateApp ¶ added in v0.4.0
func (az *AzureClient) CreateApp(appName, appURL string, replyURLs *[]string, requiredResourceAccess *[]graphrbac.RequiredResourceAccess) (applicationID, servicePrincipalObjectID, servicePrincipalClientSecret string, err error)
CreateApp is a simpler method for creating an application
func (*AzureClient) CreateGraphApplication ¶ added in v0.4.0
func (az *AzureClient) CreateGraphApplication(applicationCreateParameters graphrbac.ApplicationCreateParameters) (graphrbac.Application, error)
CreateGraphApplication creates an application via the graphrbac client
func (*AzureClient) CreateGraphPrincipal ¶ added in v0.4.0
func (az *AzureClient) CreateGraphPrincipal(servicePrincipalCreateParameters graphrbac.ServicePrincipalCreateParameters) (graphrbac.ServicePrincipal, error)
CreateGraphPrincipal creates a service principal via the graphrbac client
func (*AzureClient) CreateRoleAssignment ¶ added in v0.4.0
func (az *AzureClient) CreateRoleAssignment(scope string, roleAssignmentName string, parameters authorization.RoleAssignmentCreateParameters) (authorization.RoleAssignment, error)
CreateRoleAssignment creates a role assignment via the authorization client
func (*AzureClient) CreateRoleAssignmentSimple ¶ added in v0.4.0
func (az *AzureClient) CreateRoleAssignmentSimple(resourceGroup, servicePrincipalObjectID string) error
CreateRoleAssignmentSimple is a wrapper around RoleAssignmentsClient.Create
func (*AzureClient) DeleteManagedDisk ¶ added in v0.4.0
func (az *AzureClient) DeleteManagedDisk(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error)
DeleteManagedDisk deletes a managed disk.
func (*AzureClient) DeleteNetworkInterface ¶
func (az *AzureClient) DeleteNetworkInterface(resourceGroup, nicName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error)
DeleteNetworkInterface deletes the specified network interface.
func (*AzureClient) DeleteResourceGroup ¶
func (az *AzureClient) DeleteResourceGroup(name string, cancel chan struct{}) (<-chan autorest.Response, <-chan error)
DeleteResourceGroup delete the named resource group
func (*AzureClient) DeleteRoleAssignmentByID ¶ added in v0.18.0
func (az *AzureClient) DeleteRoleAssignmentByID(roleAssignmentID string) (authorization.RoleAssignment, error)
DeleteRoleAssignmentByID deletes a roleAssignment via its unique identifier
func (*AzureClient) DeleteVirtualMachine ¶
func (az *AzureClient) DeleteVirtualMachine(resourceGroup, name string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
DeleteVirtualMachine handles deletion of a CRP/VMAS VM (aka, not a VMSS VM).
func (*AzureClient) DeleteVirtualMachineScaleSetVM ¶ added in v0.19.0
func (az *AzureClient) DeleteVirtualMachineScaleSetVM(resourceGroup, virtualMachineScaleSet, instanceID string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
DeleteVirtualMachineScaleSetVM deletes a VM in a VMSS
func (*AzureClient) DeployTemplate ¶
func (az *AzureClient) DeployTemplate(resourceGroupName, deploymentName string, template map[string]interface{}, parameters map[string]interface{}, cancel <-chan struct{}) (*resources.DeploymentExtended, error)
DeployTemplate implements the TemplateDeployer interface for the AzureClient client
func (*AzureClient) EnsureProvidersRegistered ¶ added in v0.9.0
func (az *AzureClient) EnsureProvidersRegistered(subscriptionID string) error
EnsureProvidersRegistered checks if the AzureClient is registered to required resource providers and, if not, register subscription to providers
func (*AzureClient) EnsureResourceGroup ¶
func (az *AzureClient) EnsureResourceGroup(name, location string, managedBy *string) (resourceGroup *resources.Group, err error)
EnsureResourceGroup ensures the named resouce group exists in the given location.
func (*AzureClient) GetDeployment ¶
func (az *AzureClient) GetDeployment(resourceGroupName, deploymentName string) (result resources.DeploymentExtended, err error)
GetDeployment returns the template deployment
func (*AzureClient) GetKubernetesClient ¶ added in v0.9.0
func (az *AzureClient) GetKubernetesClient(masterURL, kubeConfig string, interval, timeout time.Duration) (KubernetesClient, error)
GetKubernetesClient returns a KubernetesClient hooked up to the api server at the masterURL
func (*AzureClient) GetStorageClient ¶
func (az *AzureClient) GetStorageClient(resourceGroup, accountName string) (ACSStorageClient, error)
GetStorageClient returns an authenticated client for the specified account.
func (*AzureClient) GetVirtualMachine ¶
func (az *AzureClient) GetVirtualMachine(resourceGroup, name string) (compute.VirtualMachine, error)
GetVirtualMachine returns the specified machine in the specified resource group.
func (*AzureClient) ListDeploymentOperations ¶ added in v0.2.0
func (az *AzureClient) ListDeploymentOperations(resourceGroupName string, deploymentName string, top *int32) (result resources.DeploymentOperationsListResult, err error)
ListDeploymentOperations gets all deployments operations for a deployment.
func (*AzureClient) ListDeploymentOperationsNextResults ¶ added in v0.2.0
func (az *AzureClient) ListDeploymentOperationsNextResults(lastResults resources.DeploymentOperationsListResult) (result resources.DeploymentOperationsListResult, err error)
ListDeploymentOperationsNextResults retrieves the next set of results, if any.
func (*AzureClient) ListManagedDisksByResourceGroup ¶ added in v0.4.0
func (az *AzureClient) ListManagedDisksByResourceGroup(resourceGroupName string) (result disk.ListType, err error)
ListManagedDisksByResourceGroup lists managed disks in a resource group.
func (*AzureClient) ListProviders ¶ added in v0.9.0
func (az *AzureClient) ListProviders() (resources.ProviderListResult, error)
ListProviders returns all the providers for a given AzureClient
func (*AzureClient) ListRoleAssignmentsForPrincipal ¶ added in v0.18.0
func (az *AzureClient) ListRoleAssignmentsForPrincipal(scope string, principalID string) (authorization.RoleAssignmentListResult, error)
ListRoleAssignmentsForPrincipal (e.g. a VM) via the scope and the unique identifier of the principal
func (*AzureClient) ListVirtualMachineScaleSetVMs ¶ added in v0.19.0
func (az *AzureClient) ListVirtualMachineScaleSetVMs(resourceGroup, virtualMachineScaleSet string) (compute.VirtualMachineScaleSetVMListResult, error)
ListVirtualMachineScaleSetVMs returns the list of VMs per VMSS
func (*AzureClient) ListVirtualMachineScaleSets ¶ added in v0.1.2
func (az *AzureClient) ListVirtualMachineScaleSets(resourceGroup string) (compute.VirtualMachineScaleSetListResult, error)
ListVirtualMachineScaleSets returns (the first page of) the vmss resources in the specified resource group.
func (*AzureClient) ListVirtualMachines ¶
func (az *AzureClient) ListVirtualMachines(resourceGroup string) (compute.VirtualMachineListResult, error)
ListVirtualMachines returns (the first page of) the machines in the specified resource group.
func (*AzureClient) SetVirtualMachineScaleSetCapacity ¶ added in v0.19.0
func (az *AzureClient) SetVirtualMachineScaleSetCapacity(resourceGroup, virtualMachineScaleSet string, sku compute.Sku, location string, cancel <-chan struct{}) (<-chan compute.VirtualMachineScaleSet, <-chan error)
SetVirtualMachineScaleSetCapacity sets the VMSS capacity
func (*AzureClient) ValidateTemplate ¶
func (az *AzureClient) ValidateTemplate( resourceGroupName string, deploymentName string, template map[string]interface{}, parameters map[string]interface{}) (result resources.DeploymentValidateResult, err error)
ValidateTemplate validate the template and parameters
type AzureStorageClient ¶
type AzureStorageClient struct {
// contains filtered or unexported fields
}
AzureStorageClient implements the StorageClient interface and wraps the Azure storage client.
func (*AzureStorageClient) DeleteBlob ¶
func (as *AzureStorageClient) DeleteBlob(vhdContainer, vhdBlob string) error
DeleteBlob deletes the specified blob TODO(colemick): why doesn't SDK give a way to just delete a blob by URI? it's what it ends up doing internally anyway...
type DeploymentError ¶ added in v0.13.0
type DeploymentError struct {
DeploymentName string
ResourceGroup string
TopError error
StatusCode int
Response []byte
ProvisioningState string
OperationsLists []resources.DeploymentOperationsListResult
}
DeploymentError contains the root deployment error along with deployment operation errors
func (*DeploymentError) Error ¶ added in v0.13.0
func (e *DeploymentError) Error() string
Error implements error interface
type DeploymentValidationError ¶ added in v0.13.0
type DeploymentValidationError struct {
Err error
}
DeploymentValidationError contains validation error
func (*DeploymentValidationError) Error ¶ added in v0.13.0
func (e *DeploymentValidationError) Error() string
Error implements error interface
type KubernetesClient ¶ added in v0.9.0
type KubernetesClient interface {
//ListPods returns all Pods running on the passed in node
ListPods(node *v1.Node) (*v1.PodList, error)
//GetNode returns details about node with passed in name
GetNode(name string) (*v1.Node, error)
//UpdateNode updates the node in the api server with the passed in info
UpdateNode(node *v1.Node) (*v1.Node, error)
//DeleteNode deregisters node in the api server
DeleteNode(name string) error
//SupportEviction queries the api server to discover if it supports eviction, and returns supported type if it is supported
SupportEviction() (string, error)
//DeletePod deletes the passed in pod
DeletePod(pod *v1.Pod) error
//EvictPod evicts the passed in pod using the passed in api version
EvictPod(pod *v1.Pod, policyGroupVersion string) error
//WaitForDelete waits until all pods are deleted. Returns all pods not deleted and an error on failure
WaitForDelete(logger *log.Entry, pods []v1.Pod, usingEviction bool) ([]v1.Pod, error)
}
KubernetesClient interface models client for interacting with kubernetes api server
type KubernetesClientSetClient ¶ added in v0.9.0
type KubernetesClientSetClient struct {
// contains filtered or unexported fields
}
KubernetesClientSetClient kubernetes client hooked up to a live api server
func (*KubernetesClientSetClient) DeleteNode ¶ added in v0.14.1
func (c *KubernetesClientSetClient) DeleteNode(name string) error
DeleteNode deregisters the node in the api server
func (*KubernetesClientSetClient) DeletePod ¶ added in v0.9.0
func (c *KubernetesClientSetClient) DeletePod(pod *v1.Pod) error
DeletePod deletes the passed in pod
func (*KubernetesClientSetClient) EvictPod ¶ added in v0.9.0
func (c *KubernetesClientSetClient) EvictPod(pod *v1.Pod, policyGroupVersion string) error
EvictPod evicts the passed in pod using the passed in api version
func (*KubernetesClientSetClient) GetNode ¶ added in v0.9.0
func (c *KubernetesClientSetClient) GetNode(name string) (*v1.Node, error)
GetNode returns details about node with passed in name
func (*KubernetesClientSetClient) ListPods ¶ added in v0.9.0
ListPods returns all Pods running on the passed in node
func (*KubernetesClientSetClient) SupportEviction ¶ added in v0.9.0
func (c *KubernetesClientSetClient) SupportEviction() (string, error)
SupportEviction queries the api server to discover if it supports eviction, and returns supported type if it is supported
func (*KubernetesClientSetClient) UpdateNode ¶ added in v0.9.0
UpdateNode updates the node in the api server with the passed in info
type MockACSEngineClient ¶
type MockACSEngineClient struct {
FailDeployTemplate bool
FailDeployTemplateQuota bool
FailDeployTemplateConflict bool
FailDeployTemplateWithProperties bool
FailEnsureResourceGroup bool
FailListVirtualMachines bool
FailListVirtualMachineScaleSets bool
FailGetVirtualMachine bool
FailDeleteVirtualMachine bool
FailDeleteVirtualMachineScaleSetVM bool
FailSetVirtualMachineScaleSetCapacity bool
FailListVirtualMachineScaleSetVMs bool
FailGetStorageClient bool
FailDeleteNetworkInterface bool
FailGetKubernetesClient bool
FailListProviders bool
ShouldSupportVMIdentity bool
FailDeleteRoleAssignment bool
MockKubernetesClient *MockKubernetesClient
}
MockACSEngineClient is an implementation of ACSEngineClient where all requests error out
func (*MockACSEngineClient) AddAcceptLanguages ¶ added in v0.2.0
func (mc *MockACSEngineClient) AddAcceptLanguages(languages []string)
AddAcceptLanguages mock
func (*MockACSEngineClient) CreateApp ¶ added in v0.4.0
func (mc *MockACSEngineClient) CreateApp(applicationName, applicationURL string, replyURLs *[]string, requiredResourceAccess *[]graphrbac.RequiredResourceAccess) (applicationID, servicePrincipalObjectID, secret string, err error)
CreateApp is a simpler method for creating an application
func (*MockACSEngineClient) CreateGraphApplication ¶ added in v0.4.0
func (mc *MockACSEngineClient) CreateGraphApplication(applicationCreateParameters graphrbac.ApplicationCreateParameters) (graphrbac.Application, error)
CreateGraphApplication creates an application via the graphrbac client
func (*MockACSEngineClient) CreateGraphPrincipal ¶ added in v0.4.0
func (mc *MockACSEngineClient) CreateGraphPrincipal(servicePrincipalCreateParameters graphrbac.ServicePrincipalCreateParameters) (graphrbac.ServicePrincipal, error)
CreateGraphPrincipal creates a service principal via the graphrbac client
func (*MockACSEngineClient) CreateRoleAssignment ¶ added in v0.4.0
func (mc *MockACSEngineClient) CreateRoleAssignment(scope string, roleAssignmentName string, parameters authorization.RoleAssignmentCreateParameters) (authorization.RoleAssignment, error)
CreateRoleAssignment creates a role assignment via the authorization client
func (*MockACSEngineClient) CreateRoleAssignmentSimple ¶ added in v0.4.0
func (mc *MockACSEngineClient) CreateRoleAssignmentSimple(applicationID, roleID string) error
CreateRoleAssignmentSimple is a wrapper around RoleAssignmentsClient.Create
func (*MockACSEngineClient) DeleteManagedDisk ¶ added in v0.4.0
func (mc *MockACSEngineClient) DeleteManagedDisk(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error)
DeleteManagedDisk is a wrapper around disksClient.Delete
func (*MockACSEngineClient) DeleteNetworkInterface ¶
func (mc *MockACSEngineClient) DeleteNetworkInterface(resourceGroup, nicName string, cancel <-chan struct{}) (<-chan autorest.Response, <-chan error)
DeleteNetworkInterface mock
func (*MockACSEngineClient) DeleteRoleAssignmentByID ¶ added in v0.18.0
func (mc *MockACSEngineClient) DeleteRoleAssignmentByID(roleAssignmentID string) (authorization.RoleAssignment, error)
DeleteRoleAssignmentByID deletes a roleAssignment via its unique identifier
func (*MockACSEngineClient) DeleteVirtualMachine ¶
func (mc *MockACSEngineClient) DeleteVirtualMachine(resourceGroup, name string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
DeleteVirtualMachine mock
func (*MockACSEngineClient) DeleteVirtualMachineScaleSetVM ¶ added in v0.19.0
func (mc *MockACSEngineClient) DeleteVirtualMachineScaleSetVM(resourceGroup, virtualMachineScaleSet, instanceID string, cancel <-chan struct{}) (<-chan compute.OperationStatusResponse, <-chan error)
DeleteVirtualMachineScaleSetVM mock
func (*MockACSEngineClient) DeployTemplate ¶
func (mc *MockACSEngineClient) DeployTemplate(resourceGroup, name string, template, parameters map[string]interface{}, cancel <-chan struct{}) (*resources.DeploymentExtended, error)
DeployTemplate mock
func (*MockACSEngineClient) EnsureResourceGroup ¶
func (mc *MockACSEngineClient) EnsureResourceGroup(resourceGroup, location string, managedBy *string) (*resources.Group, error)
EnsureResourceGroup mock
func (*MockACSEngineClient) GetKubernetesClient ¶ added in v0.9.0
func (mc *MockACSEngineClient) GetKubernetesClient(masterURL, kubeConfig string, interval, timeout time.Duration) (KubernetesClient, error)
GetKubernetesClient mock
func (*MockACSEngineClient) GetStorageClient ¶
func (mc *MockACSEngineClient) GetStorageClient(resourceGroup, accountName string) (ACSStorageClient, error)
GetStorageClient mock
func (*MockACSEngineClient) GetVirtualMachine ¶
func (mc *MockACSEngineClient) GetVirtualMachine(resourceGroup, name string) (compute.VirtualMachine, error)
GetVirtualMachine mock
func (*MockACSEngineClient) ListDeploymentOperations ¶ added in v0.13.0
func (mc *MockACSEngineClient) ListDeploymentOperations(resourceGroupName string, deploymentName string, top *int32) (result resources.DeploymentOperationsListResult, err error)
ListDeploymentOperations gets all deployments operations for a deployment.
func (*MockACSEngineClient) ListDeploymentOperationsNextResults ¶ added in v0.13.0
func (mc *MockACSEngineClient) ListDeploymentOperationsNextResults(lastResults resources.DeploymentOperationsListResult) (result resources.DeploymentOperationsListResult, err error)
ListDeploymentOperationsNextResults retrieves the next set of results, if any.
func (*MockACSEngineClient) ListManagedDisksByResourceGroup ¶ added in v0.4.0
func (mc *MockACSEngineClient) ListManagedDisksByResourceGroup(resourceGroupName string) (result disk.ListType, err error)
ListManagedDisksByResourceGroup is a wrapper around disksClient.ListManagedDisksByResourceGroup
func (*MockACSEngineClient) ListProviders ¶ added in v0.9.0
func (mc *MockACSEngineClient) ListProviders() (resources.ProviderListResult, error)
ListProviders mock
func (*MockACSEngineClient) ListRoleAssignmentsForPrincipal ¶ added in v0.18.0
func (mc *MockACSEngineClient) ListRoleAssignmentsForPrincipal(scope string, principalID string) (authorization.RoleAssignmentListResult, error)
ListRoleAssignmentsForPrincipal (e.g. a VM) via the scope and the unique identifier of the principal
func (*MockACSEngineClient) ListVirtualMachineScaleSetVMs ¶ added in v0.19.0
func (mc *MockACSEngineClient) ListVirtualMachineScaleSetVMs(resourceGroup, virtualMachineScaleSet string) (compute.VirtualMachineScaleSetVMListResult, error)
ListVirtualMachineScaleSetVMs mock
func (*MockACSEngineClient) ListVirtualMachineScaleSets ¶ added in v0.1.2
func (mc *MockACSEngineClient) ListVirtualMachineScaleSets(resourceGroup string) (compute.VirtualMachineScaleSetListResult, error)
ListVirtualMachineScaleSets mock
func (*MockACSEngineClient) ListVirtualMachines ¶
func (mc *MockACSEngineClient) ListVirtualMachines(resourceGroup string) (compute.VirtualMachineListResult, error)
ListVirtualMachines mock
func (*MockACSEngineClient) SetVirtualMachineScaleSetCapacity ¶ added in v0.19.0
func (mc *MockACSEngineClient) SetVirtualMachineScaleSetCapacity(resourceGroup, virtualMachineScaleSet string, sku compute.Sku, location string, cancel <-chan struct{}) (<-chan compute.VirtualMachineScaleSet, <-chan error)
SetVirtualMachineScaleSetCapacity mock
type MockKubernetesClient ¶ added in v0.9.0
type MockKubernetesClient struct {
FailListPods bool
FailGetNode bool
UpdateNodeFunc func(*v1.Node) (*v1.Node, error)
FailUpdateNode bool
FailDeleteNode bool
FailSupportEviction bool
FailDeletePod bool
FailEvictPod bool
FailWaitForDelete bool
ShouldSupportEviction bool
PodsList *v1.PodList
}
MockKubernetesClient mock implementation of KubernetesClient
func (*MockKubernetesClient) DeleteNode ¶ added in v0.14.1
func (mkc *MockKubernetesClient) DeleteNode(name string) error
DeleteNode deregisters node in the api server
func (*MockKubernetesClient) DeletePod ¶ added in v0.9.0
func (mkc *MockKubernetesClient) DeletePod(pod *v1.Pod) error
DeletePod deletes the passed in pod
func (*MockKubernetesClient) EvictPod ¶ added in v0.9.0
func (mkc *MockKubernetesClient) EvictPod(pod *v1.Pod, policyGroupVersion string) error
EvictPod evicts the passed in pod using the passed in api version
func (*MockKubernetesClient) GetNode ¶ added in v0.9.0
func (mkc *MockKubernetesClient) GetNode(name string) (*v1.Node, error)
GetNode returns details about node with passed in name
func (*MockKubernetesClient) ListPods ¶ added in v0.9.0
ListPods returns all Pods running on the passed in node
func (*MockKubernetesClient) SupportEviction ¶ added in v0.9.0
func (mkc *MockKubernetesClient) SupportEviction() (string, error)
SupportEviction queries the api server to discover if it supports eviction, and returns supported type if it is supported
func (*MockKubernetesClient) UpdateNode ¶ added in v0.9.0
UpdateNode updates the node in the api server with the passed in info
type MockStorageClient ¶
type MockStorageClient struct{}
MockStorageClient mock implementation of StorageClient
func (*MockStorageClient) DeleteBlob ¶
func (msc *MockStorageClient) DeleteBlob(container, blob string) error
DeleteBlob mock