armhdinsightcontainers

package module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2024 License: MIT Imports: 14 Imported by: 0

README

Azure Hdinsight Containers Module for Go

PkgGoDev

The armhdinsightcontainers module provides operations for working with Azure Hdinsight Containers.

Source code

Getting started

Prerequisites

  • an Azure subscription
  • Go 1.18 or above (You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.)

Install the package

This project uses Go modules for versioning and dependency management.

Install the Azure Hdinsight Containers module:

go get github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers

Authorization

When creating a client, you will need to provide a credential for authenticating with Azure Hdinsight Containers. The azidentity module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.

cred, err := azidentity.NewDefaultAzureCredential(nil)

For more information on authentication, please see the documentation for azidentity at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity.

Client Factory

Azure Hdinsight Containers module consists of one or more clients. We provide a client factory which could be used to create any client in this module.

clientFactory, err := armhdinsightcontainers.NewClientFactory(<subscription ID>, cred, nil)

You can use ClientOptions in package github.com/Azure/azure-sdk-for-go/sdk/azcore/arm to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore at pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azcore.

options := arm.ClientOptions {
    ClientOptions: azcore.ClientOptions {
        Cloud: cloud.AzureChina,
    },
}
clientFactory, err := armhdinsightcontainers.NewClientFactory(<subscription ID>, cred, &options)

Clients

A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.

client := clientFactory.NewAvailableClusterPoolVersionsClient()

Fakes

The fake package contains types used for constructing in-memory fake servers used in unit tests. This allows writing tests to cover various success/error conditions without the need for connecting to a live service.

Please see https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/samples/fakes for details and examples on how to use fakes.

Provide Feedback

If you encounter bugs or have suggestions, please open an issue and assign the Hdinsight Containers label.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action string

Action - A string property that indicates the action to be performed on the Flink job. It can have one of the following enum values => NEW, UPDATE, STATELESSUPDATE, STOP, START, CANCEL, SAVEPOINT, LIST SAVEPOINT, or DELETE.

const (
	ActionCANCEL          Action = "CANCEL"
	ActionDELETE          Action = "DELETE"
	ActionLASTSTATEUPDATE Action = "LAST_STATE_UPDATE"
	ActionLISTSAVEPOINT   Action = "LIST_SAVEPOINT"
	ActionNEW             Action = "NEW"
	ActionRELAUNCH        Action = "RE_LAUNCH"
	ActionSAVEPOINT       Action = "SAVEPOINT"
	ActionSTART           Action = "START"
	ActionSTATELESSUPDATE Action = "STATELESS_UPDATE"
	ActionSTOP            Action = "STOP"
	ActionUPDATE          Action = "UPDATE"
)

func PossibleActionValues

func PossibleActionValues() []Action

PossibleActionValues returns the possible values for the Action const type.

type ActionType

type ActionType string

ActionType - Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.

const (
	ActionTypeInternal ActionType = "Internal"
)

func PossibleActionTypeValues

func PossibleActionTypeValues() []ActionType

PossibleActionTypeValues returns the possible values for the ActionType const type.

type AksClusterProfileAksClusterAgentPoolIdentityProfile

type AksClusterProfileAksClusterAgentPoolIdentityProfile struct {
	// REQUIRED; ClientId of the MSI.
	MsiClientID *string

	// REQUIRED; ObjectId of the MSI.
	MsiObjectID *string

	// REQUIRED; ResourceId of the MSI.
	MsiResourceID *string
}

AksClusterProfileAksClusterAgentPoolIdentityProfile - Identity properties of the AKS cluster agentpool MSI

func (AksClusterProfileAksClusterAgentPoolIdentityProfile) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type AksClusterProfileAksClusterAgentPoolIdentityProfile.

func (*AksClusterProfileAksClusterAgentPoolIdentityProfile) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type AksClusterProfileAksClusterAgentPoolIdentityProfile.

type AuthorizationProfile

type AuthorizationProfile struct {
	// AAD group Ids authorized for data plane access.
	GroupIDs []*string

	// AAD user Ids authorized for data plane access.
	UserIDs []*string
}

AuthorizationProfile - Authorization profile with details of AAD user Ids and group Ids authorized for data plane access.

func (AuthorizationProfile) MarshalJSON

func (a AuthorizationProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AuthorizationProfile.

func (*AuthorizationProfile) UnmarshalJSON

func (a *AuthorizationProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AuthorizationProfile.

type AutoscaleProfile

type AutoscaleProfile struct {
	// REQUIRED; This indicates whether auto scale is enabled on HDInsight on AKS cluster.
	Enabled *bool

	// User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based.
	AutoscaleType *AutoscaleType

	// This property is for graceful decommission timeout; It has a default setting of 3600 seconds before forced shutdown takes
	// place. This is the maximal time to wait for running containers and
	// applications to complete before transition a DECOMMISSIONING node into DECOMMISSIONED. The default value is 3600 seconds.
	// Negative value (like -1) is handled as infinite timeout.
	GracefulDecommissionTimeout *int32

	// Profiles of load based Autoscale.
	LoadBasedConfig *LoadBasedConfig

	// Profiles of schedule based Autoscale.
	ScheduleBasedConfig *ScheduleBasedConfig
}

AutoscaleProfile - This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale.

func (AutoscaleProfile) MarshalJSON

func (a AutoscaleProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type AutoscaleProfile.

func (*AutoscaleProfile) UnmarshalJSON

func (a *AutoscaleProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type AutoscaleProfile.

type AutoscaleType

type AutoscaleType string

AutoscaleType - User to specify which type of Autoscale to be implemented - Scheduled Based or Load Based.

const (
	AutoscaleTypeLoadBased     AutoscaleType = "LoadBased"
	AutoscaleTypeScheduleBased AutoscaleType = "ScheduleBased"
)

func PossibleAutoscaleTypeValues

func PossibleAutoscaleTypeValues() []AutoscaleType

PossibleAutoscaleTypeValues returns the possible values for the AutoscaleType const type.

type AvailableClusterPoolVersionsClient

type AvailableClusterPoolVersionsClient struct {
	// contains filtered or unexported fields
}

AvailableClusterPoolVersionsClient contains the methods for the AvailableClusterPoolVersions group. Don't use this type directly, use NewAvailableClusterPoolVersionsClient() instead.

func NewAvailableClusterPoolVersionsClient

func NewAvailableClusterPoolVersionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AvailableClusterPoolVersionsClient, error)

NewAvailableClusterPoolVersionsClient creates a new instance of AvailableClusterPoolVersionsClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*AvailableClusterPoolVersionsClient) NewListByLocationPager

NewListByLocationPager - Returns a list of available cluster pool versions.

Generated from API version 2023-11-01-preview

  • location - The name of the Azure region.
  • options - AvailableClusterPoolVersionsClientListByLocationOptions contains the optional parameters for the AvailableClusterPoolVersionsClient.NewListByLocationPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListAvailableClusterPoolVersions.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewAvailableClusterPoolVersionsClient().NewListByLocationPager("westus2", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterPoolVersionsListResult = armhdinsightcontainers.ClusterPoolVersionsListResult{
		// 	Value: []*armhdinsightcontainers.ClusterPoolVersion{
		// 		{
		// 			Name: to.Ptr("1.0"),
		// 			ID: to.Ptr("/subscriptions/subid/providers/Microsoft.HDInsight/locations/westus2/availableclusterpoolversions/1.0"),
		// 			Properties: &armhdinsightcontainers.ClusterPoolVersionProperties{
		// 				AksVersion: to.Ptr("1.24"),
		// 				ClusterPoolVersion: to.Ptr("1.0"),
		// 				IsPreview: to.Ptr(false),
		// 			},
		// 		},
		// 		{
		// 			Name: to.Ptr("1.1"),
		// 			ID: to.Ptr("/subscriptions/subid/providers/Microsoft.HDInsight/locations/westus2/availableclusterpoolversions/1.1"),
		// 			Properties: &armhdinsightcontainers.ClusterPoolVersionProperties{
		// 				AksVersion: to.Ptr("1.25"),
		// 				ClusterPoolVersion: to.Ptr("1.1"),
		// 				IsPreview: to.Ptr(false),
		// 			},
		// 		},
		// 		{
		// 			Name: to.Ptr("1.2"),
		// 			ID: to.Ptr("/subscriptions/subid/providers/Microsoft.HDInsight/locations/westus2/availableclusterpoolversions/1.2"),
		// 			Properties: &armhdinsightcontainers.ClusterPoolVersionProperties{
		// 				AksVersion: to.Ptr("1.26"),
		// 				ClusterPoolVersion: to.Ptr("1.2"),
		// 				IsPreview: to.Ptr(true),
		// 			},
		// 	}},
		// }
	}
}
Output:

type AvailableClusterPoolVersionsClientListByLocationOptions

type AvailableClusterPoolVersionsClientListByLocationOptions struct {
}

AvailableClusterPoolVersionsClientListByLocationOptions contains the optional parameters for the AvailableClusterPoolVersionsClient.NewListByLocationPager method.

type AvailableClusterPoolVersionsClientListByLocationResponse

type AvailableClusterPoolVersionsClientListByLocationResponse struct {
	// Represents a list of cluster pool versions.
	ClusterPoolVersionsListResult
}

AvailableClusterPoolVersionsClientListByLocationResponse contains the response from method AvailableClusterPoolVersionsClient.NewListByLocationPager.

type AvailableClusterVersionsClient

type AvailableClusterVersionsClient struct {
	// contains filtered or unexported fields
}

AvailableClusterVersionsClient contains the methods for the AvailableClusterVersions group. Don't use this type directly, use NewAvailableClusterVersionsClient() instead.

func NewAvailableClusterVersionsClient

func NewAvailableClusterVersionsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*AvailableClusterVersionsClient, error)

NewAvailableClusterVersionsClient creates a new instance of AvailableClusterVersionsClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*AvailableClusterVersionsClient) NewListByLocationPager

NewListByLocationPager - Returns a list of available cluster versions.

Generated from API version 2023-11-01-preview

  • location - The name of the Azure region.
  • options - AvailableClusterVersionsClientListByLocationOptions contains the optional parameters for the AvailableClusterVersionsClient.NewListByLocationPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListAvailableClusterVersions.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewAvailableClusterVersionsClient().NewListByLocationPager("westus2", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterVersionsListResult = armhdinsightcontainers.ClusterVersionsListResult{
		// 	Value: []*armhdinsightcontainers.ClusterVersion{
		// 		{
		// 			Name: to.Ptr("flink_1.16.0-1.0.4"),
		// 			ID: to.Ptr("/subscriptions/subid/providers/Microsoft.HDInsight/locations/westus2/availableclusterversions/flink_1.16.0-1.0.4"),
		// 			Properties: &armhdinsightcontainers.ClusterVersionProperties{
		// 				ClusterPoolVersion: to.Ptr("1.0"),
		// 				ClusterType: to.Ptr("Flink"),
		// 				ClusterVersion: to.Ptr("1.0.4"),
		// 				Components: []*armhdinsightcontainers.ClusterComponentsItem{
		// 					{
		// 						Name: to.Ptr("TaskManager"),
		// 						Version: to.Ptr("1.16.0"),
		// 					},
		// 					{
		// 						Name: to.Ptr("JobManager"),
		// 						Version: to.Ptr("1.16.0"),
		// 				}},
		// 				IsPreview: to.Ptr(false),
		// 				OssVersion: to.Ptr("1.16.0"),
		// 			},
		// 		},
		// 		{
		// 			Name: to.Ptr("spark_3.3.1-1.0.4"),
		// 			ID: to.Ptr("/subscriptions/subid/providers/Microsoft.HDInsight/locations/westus2/availableclusterversions/spark_3.3.1-1.0.4"),
		// 			Properties: &armhdinsightcontainers.ClusterVersionProperties{
		// 				ClusterPoolVersion: to.Ptr("1.0"),
		// 				ClusterType: to.Ptr("Spark"),
		// 				ClusterVersion: to.Ptr("1.0.4"),
		// 				Components: []*armhdinsightcontainers.ClusterComponentsItem{
		// 					{
		// 						Name: to.Ptr("Hadoop"),
		// 						Version: to.Ptr("3.2.3"),
		// 					},
		// 					{
		// 						Name: to.Ptr("Hive"),
		// 						Version: to.Ptr("3.1.4"),
		// 				}},
		// 				IsPreview: to.Ptr(false),
		// 				OssVersion: to.Ptr("3.3.1"),
		// 			},
		// 	}},
		// }
	}
}
Output:

type AvailableClusterVersionsClientListByLocationOptions

type AvailableClusterVersionsClientListByLocationOptions struct {
}

AvailableClusterVersionsClientListByLocationOptions contains the optional parameters for the AvailableClusterVersionsClient.NewListByLocationPager method.

type AvailableClusterVersionsClientListByLocationResponse

type AvailableClusterVersionsClientListByLocationResponse struct {
	// Represents a list of cluster versions.
	ClusterVersionsListResult
}

AvailableClusterVersionsClientListByLocationResponse contains the response from method AvailableClusterVersionsClient.NewListByLocationPager.

type CatalogOptions

type CatalogOptions struct {
	// hive catalog options.
	Hive []*HiveCatalogOption
}

CatalogOptions - Trino cluster catalog options.

func (CatalogOptions) MarshalJSON

func (c CatalogOptions) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type CatalogOptions.

func (*CatalogOptions) UnmarshalJSON

func (c *CatalogOptions) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type CatalogOptions.

type ClientFactory

type ClientFactory struct {
	// contains filtered or unexported fields
}

ClientFactory is a client factory used to create any client in this module. Don't use this type directly, use NewClientFactory instead.

func NewClientFactory

func NewClientFactory(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClientFactory, error)

NewClientFactory creates a new instance of ClientFactory with the specified values. The parameter values will be propagated to any client created from this factory.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClientFactory) NewAvailableClusterPoolVersionsClient

func (c *ClientFactory) NewAvailableClusterPoolVersionsClient() *AvailableClusterPoolVersionsClient

NewAvailableClusterPoolVersionsClient creates a new instance of AvailableClusterPoolVersionsClient.

func (*ClientFactory) NewAvailableClusterVersionsClient

func (c *ClientFactory) NewAvailableClusterVersionsClient() *AvailableClusterVersionsClient

NewAvailableClusterVersionsClient creates a new instance of AvailableClusterVersionsClient.

func (*ClientFactory) NewClusterAvailableUpgradesClient added in v0.3.0

func (c *ClientFactory) NewClusterAvailableUpgradesClient() *ClusterAvailableUpgradesClient

NewClusterAvailableUpgradesClient creates a new instance of ClusterAvailableUpgradesClient.

func (*ClientFactory) NewClusterJobsClient

func (c *ClientFactory) NewClusterJobsClient() *ClusterJobsClient

NewClusterJobsClient creates a new instance of ClusterJobsClient.

func (*ClientFactory) NewClusterPoolAvailableUpgradesClient added in v0.3.0

func (c *ClientFactory) NewClusterPoolAvailableUpgradesClient() *ClusterPoolAvailableUpgradesClient

NewClusterPoolAvailableUpgradesClient creates a new instance of ClusterPoolAvailableUpgradesClient.

func (*ClientFactory) NewClusterPoolsClient

func (c *ClientFactory) NewClusterPoolsClient() *ClusterPoolsClient

NewClusterPoolsClient creates a new instance of ClusterPoolsClient.

func (*ClientFactory) NewClustersClient

func (c *ClientFactory) NewClustersClient() *ClustersClient

NewClustersClient creates a new instance of ClustersClient.

func (*ClientFactory) NewLocationsClient

func (c *ClientFactory) NewLocationsClient() *LocationsClient

NewLocationsClient creates a new instance of LocationsClient.

func (*ClientFactory) NewOperationsClient

func (c *ClientFactory) NewOperationsClient() *OperationsClient

NewOperationsClient creates a new instance of OperationsClient.

type Cluster

type Cluster struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// Gets or sets the properties. Define cluster specific properties.
	Properties *ClusterResourceProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

Cluster - The cluster.

func (Cluster) MarshalJSON

func (c Cluster) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Cluster.

func (*Cluster) UnmarshalJSON

func (c *Cluster) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Cluster.

type ClusterAKSPatchVersionUpgradeProperties added in v0.3.0

type ClusterAKSPatchVersionUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterUpgradeType
}

ClusterAKSPatchVersionUpgradeProperties - Properties of upgrading cluster's AKS patch version.

func (*ClusterAKSPatchVersionUpgradeProperties) GetClusterUpgradeProperties added in v0.3.0

func (c *ClusterAKSPatchVersionUpgradeProperties) GetClusterUpgradeProperties() *ClusterUpgradeProperties

GetClusterUpgradeProperties implements the ClusterUpgradePropertiesClassification interface for type ClusterAKSPatchVersionUpgradeProperties.

func (ClusterAKSPatchVersionUpgradeProperties) MarshalJSON added in v0.3.0

func (c ClusterAKSPatchVersionUpgradeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterAKSPatchVersionUpgradeProperties.

func (*ClusterAKSPatchVersionUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterAKSPatchVersionUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAKSPatchVersionUpgradeProperties.

type ClusterAccessProfile added in v0.3.0

type ClusterAccessProfile struct {
	// REQUIRED; Whether to create cluster using private IP instead of public IP. This property must be set at create time.
	EnableInternalIngress *bool

	// READ-ONLY; Private link service resource ID. Only when enableInternalIngress is true, this property will be returned.
	PrivateLinkServiceID *string
}

ClusterAccessProfile - Cluster access profile.

func (ClusterAccessProfile) MarshalJSON added in v0.3.0

func (c ClusterAccessProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterAccessProfile.

func (*ClusterAccessProfile) UnmarshalJSON added in v0.3.0

func (c *ClusterAccessProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAccessProfile.

type ClusterAvailableUpgrade added in v0.3.0

type ClusterAvailableUpgrade struct {
	// Gets or sets the properties. Define cluster upgrade specific properties.
	Properties ClusterAvailableUpgradePropertiesClassification

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterAvailableUpgrade - Cluster available upgrade.

func (ClusterAvailableUpgrade) MarshalJSON added in v0.3.0

func (c ClusterAvailableUpgrade) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterAvailableUpgrade.

func (*ClusterAvailableUpgrade) UnmarshalJSON added in v0.3.0

func (c *ClusterAvailableUpgrade) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableUpgrade.

type ClusterAvailableUpgradeAksPatchUpgradeProperties added in v0.3.0

type ClusterAvailableUpgradeAksPatchUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterAvailableUpgradeType

	// Current node pool version.
	CurrentVersion *string

	// Current AKS version's status: whether it is deprecated or supported
	CurrentVersionStatus *CurrentClusterAksVersionStatus

	// Latest available version, which should be equal to AKS control plane version if it's not deprecated.
	LatestVersion *string
}

ClusterAvailableUpgradeAksPatchUpgradeProperties - Cluster available AKS patch version upgrade.

func (*ClusterAvailableUpgradeAksPatchUpgradeProperties) GetClusterAvailableUpgradeProperties added in v0.3.0

GetClusterAvailableUpgradeProperties implements the ClusterAvailableUpgradePropertiesClassification interface for type ClusterAvailableUpgradeAksPatchUpgradeProperties.

func (ClusterAvailableUpgradeAksPatchUpgradeProperties) MarshalJSON added in v0.3.0

MarshalJSON implements the json.Marshaller interface for type ClusterAvailableUpgradeAksPatchUpgradeProperties.

func (*ClusterAvailableUpgradeAksPatchUpgradeProperties) UnmarshalJSON added in v0.3.0

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableUpgradeAksPatchUpgradeProperties.

type ClusterAvailableUpgradeHotfixUpgradeProperties added in v0.3.0

type ClusterAvailableUpgradeHotfixUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterAvailableUpgradeType

	// Name of component to be upgraded.
	ComponentName *string

	// Created time of current available upgrade version
	CreatedTime *time.Time

	// Hotfix version upgrade description.
	Description *string

	// Extended properties of current available upgrade version
	ExtendedProperties *string

	// Severity of this upgrade.
	Severity *Severity

	// Source build number of current cluster component.
	SourceBuildNumber *string

	// Source cluster version of current cluster component.
	SourceClusterVersion *string

	// Source OSS version of current cluster component.
	SourceOssVersion *string

	// Target build number of component to be upgraded.
	TargetBuildNumber *string

	// Target cluster version of component to be upgraded.
	TargetClusterVersion *string

	// Target OSS version of component to be upgraded.
	TargetOssVersion *string
}

ClusterAvailableUpgradeHotfixUpgradeProperties - Cluster available hotfix version upgrade.

func (*ClusterAvailableUpgradeHotfixUpgradeProperties) GetClusterAvailableUpgradeProperties added in v0.3.0

func (c *ClusterAvailableUpgradeHotfixUpgradeProperties) GetClusterAvailableUpgradeProperties() *ClusterAvailableUpgradeProperties

GetClusterAvailableUpgradeProperties implements the ClusterAvailableUpgradePropertiesClassification interface for type ClusterAvailableUpgradeHotfixUpgradeProperties.

func (ClusterAvailableUpgradeHotfixUpgradeProperties) MarshalJSON added in v0.3.0

MarshalJSON implements the json.Marshaller interface for type ClusterAvailableUpgradeHotfixUpgradeProperties.

func (*ClusterAvailableUpgradeHotfixUpgradeProperties) UnmarshalJSON added in v0.3.0

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableUpgradeHotfixUpgradeProperties.

type ClusterAvailableUpgradeList added in v0.3.0

type ClusterAvailableUpgradeList struct {
	// REQUIRED; Collection of Cluster available upgrade.
	Value []*ClusterAvailableUpgrade

	// The URL of next result page.
	NextLink *string
}

ClusterAvailableUpgradeList - Collection of cluster available upgrade.

func (ClusterAvailableUpgradeList) MarshalJSON added in v0.3.0

func (c ClusterAvailableUpgradeList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterAvailableUpgradeList.

func (*ClusterAvailableUpgradeList) UnmarshalJSON added in v0.3.0

func (c *ClusterAvailableUpgradeList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableUpgradeList.

type ClusterAvailableUpgradeProperties added in v0.3.0

type ClusterAvailableUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterAvailableUpgradeType
}

ClusterAvailableUpgradeProperties - Cluster available upgrade properties.

func (*ClusterAvailableUpgradeProperties) GetClusterAvailableUpgradeProperties added in v0.3.0

func (c *ClusterAvailableUpgradeProperties) GetClusterAvailableUpgradeProperties() *ClusterAvailableUpgradeProperties

GetClusterAvailableUpgradeProperties implements the ClusterAvailableUpgradePropertiesClassification interface for type ClusterAvailableUpgradeProperties.

func (ClusterAvailableUpgradeProperties) MarshalJSON added in v0.3.0

func (c ClusterAvailableUpgradeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterAvailableUpgradeProperties.

func (*ClusterAvailableUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterAvailableUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterAvailableUpgradeProperties.

type ClusterAvailableUpgradePropertiesClassification added in v0.3.0

type ClusterAvailableUpgradePropertiesClassification interface {
	// GetClusterAvailableUpgradeProperties returns the ClusterAvailableUpgradeProperties content of the underlying type.
	GetClusterAvailableUpgradeProperties() *ClusterAvailableUpgradeProperties
}

ClusterAvailableUpgradePropertiesClassification provides polymorphic access to related types. Call the interface's GetClusterAvailableUpgradeProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ClusterAvailableUpgradeAksPatchUpgradeProperties, *ClusterAvailableUpgradeHotfixUpgradeProperties, *ClusterAvailableUpgradeProperties

type ClusterAvailableUpgradeType added in v0.3.0

type ClusterAvailableUpgradeType string

ClusterAvailableUpgradeType - Type of upgrade.

const (
	ClusterAvailableUpgradeTypeAKSPatchUpgrade ClusterAvailableUpgradeType = "AKSPatchUpgrade"
	ClusterAvailableUpgradeTypeHotfixUpgrade   ClusterAvailableUpgradeType = "HotfixUpgrade"
)

func PossibleClusterAvailableUpgradeTypeValues added in v0.3.0

func PossibleClusterAvailableUpgradeTypeValues() []ClusterAvailableUpgradeType

PossibleClusterAvailableUpgradeTypeValues returns the possible values for the ClusterAvailableUpgradeType const type.

type ClusterAvailableUpgradesClient added in v0.3.0

type ClusterAvailableUpgradesClient struct {
	// contains filtered or unexported fields
}

ClusterAvailableUpgradesClient contains the methods for the ClusterAvailableUpgrades group. Don't use this type directly, use NewClusterAvailableUpgradesClient() instead.

func NewClusterAvailableUpgradesClient added in v0.3.0

func NewClusterAvailableUpgradesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClusterAvailableUpgradesClient, error)

NewClusterAvailableUpgradesClient creates a new instance of ClusterAvailableUpgradesClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClusterAvailableUpgradesClient) NewListPager added in v0.3.0

func (client *ClusterAvailableUpgradesClient) NewListPager(resourceGroupName string, clusterPoolName string, clusterName string, options *ClusterAvailableUpgradesClientListOptions) *runtime.Pager[ClusterAvailableUpgradesClientListResponse]

NewListPager - List a cluster available upgrade.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClusterAvailableUpgradesClientListOptions contains the optional parameters for the ClusterAvailableUpgradesClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterAvailableUpgrades.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClusterAvailableUpgradesClient().NewListPager("hiloResourcegroup", "clusterpool1", "cluster1", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterAvailableUpgradeList = armhdinsightcontainers.ClusterAvailableUpgradeList{
		// 	Value: []*armhdinsightcontainers.ClusterAvailableUpgrade{
		// 		{
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1/availableUpgrades/AKSPatchUpgrade"),
		// 			Properties: &armhdinsightcontainers.ClusterAvailableUpgradeAksPatchUpgradeProperties{
		// 				UpgradeType: to.Ptr(armhdinsightcontainers.ClusterAvailableUpgradeTypeAKSPatchUpgrade),
		// 				CurrentVersion: to.Ptr("1.26.3"),
		// 				CurrentVersionStatus: to.Ptr(armhdinsightcontainers.CurrentClusterAksVersionStatusSupported),
		// 				LatestVersion: to.Ptr("1.26.6"),
		// 			},
		// 		},
		// 		{
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1/availableUpgrades/hotfix1"),
		// 			Properties: &armhdinsightcontainers.ClusterAvailableUpgradeHotfixUpgradeProperties{
		// 				UpgradeType: to.Ptr(armhdinsightcontainers.ClusterAvailableUpgradeTypeHotfixUpgrade),
		// 				Description: to.Ptr("Hotfix for historyserver on version 1.16.0-1.0.6.2"),
		// 				ComponentName: to.Ptr("historyserver"),
		// 				CreatedTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2023-03-29T14:13:12.000Z"); return t}()),
		// 				ExtendedProperties: to.Ptr(""),
		// 				Severity: to.Ptr(armhdinsightcontainers.SeverityLow),
		// 				SourceBuildNumber: to.Ptr("2"),
		// 				SourceClusterVersion: to.Ptr("1.0.6"),
		// 				SourceOssVersion: to.Ptr("1.16.0"),
		// 				TargetBuildNumber: to.Ptr("3"),
		// 				TargetClusterVersion: to.Ptr("1.0.6"),
		// 				TargetOssVersion: to.Ptr("1.16.0"),
		// 			},
		// 	}},
		// }
	}
}
Output:

type ClusterAvailableUpgradesClientListOptions added in v0.3.0

type ClusterAvailableUpgradesClientListOptions struct {
}

ClusterAvailableUpgradesClientListOptions contains the optional parameters for the ClusterAvailableUpgradesClient.NewListPager method.

type ClusterAvailableUpgradesClientListResponse added in v0.3.0

type ClusterAvailableUpgradesClientListResponse struct {
	// Collection of cluster available upgrade.
	ClusterAvailableUpgradeList
}

ClusterAvailableUpgradesClientListResponse contains the response from method ClusterAvailableUpgradesClient.NewListPager.

type ClusterComponentsItem

type ClusterComponentsItem struct {
	Name    *string
	Version *string
}

func (ClusterComponentsItem) MarshalJSON

func (c ClusterComponentsItem) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterComponentsItem.

func (*ClusterComponentsItem) UnmarshalJSON

func (c *ClusterComponentsItem) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterComponentsItem.

type ClusterConfigFile

type ClusterConfigFile struct {
	// REQUIRED; Configuration file name.
	FileName *string

	// Free form content of the entire configuration file.
	Content *string

	// This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content
	// is base64 encoded. Set it to none or skip it if the content is plain text.
	Encoding *ContentEncoding

	// Path of the config file if content is specified.
	Path *string

	// List of key value pairs where key represents a valid service configuration name and value represents the value of the config.
	Values map[string]*string
}

ClusterConfigFile - Cluster configuration files.

func (ClusterConfigFile) MarshalJSON

func (c ClusterConfigFile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterConfigFile.

func (*ClusterConfigFile) UnmarshalJSON

func (c *ClusterConfigFile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterConfigFile.

type ClusterHotfixUpgradeProperties added in v0.3.0

type ClusterHotfixUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterUpgradeType

	// Name of component to be upgraded.
	ComponentName *string

	// Target build number of component to be upgraded.
	TargetBuildNumber *string

	// Target cluster version of component to be upgraded.
	TargetClusterVersion *string

	// Target OSS version of component to be upgraded.
	TargetOssVersion *string
}

ClusterHotfixUpgradeProperties - Properties of upgrading cluster's hotfix.

func (*ClusterHotfixUpgradeProperties) GetClusterUpgradeProperties added in v0.3.0

func (c *ClusterHotfixUpgradeProperties) GetClusterUpgradeProperties() *ClusterUpgradeProperties

GetClusterUpgradeProperties implements the ClusterUpgradePropertiesClassification interface for type ClusterHotfixUpgradeProperties.

func (ClusterHotfixUpgradeProperties) MarshalJSON added in v0.3.0

func (c ClusterHotfixUpgradeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterHotfixUpgradeProperties.

func (*ClusterHotfixUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterHotfixUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterHotfixUpgradeProperties.

type ClusterInstanceViewPropertiesStatus

type ClusterInstanceViewPropertiesStatus struct {
	// REQUIRED; The cluster ready status
	Ready *string

	// The additional message.
	Message *string

	// The status reason.
	Reason *string
}

ClusterInstanceViewPropertiesStatus - Status of the instance view.

func (ClusterInstanceViewPropertiesStatus) MarshalJSON

func (c ClusterInstanceViewPropertiesStatus) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterInstanceViewPropertiesStatus.

func (*ClusterInstanceViewPropertiesStatus) UnmarshalJSON

func (c *ClusterInstanceViewPropertiesStatus) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterInstanceViewPropertiesStatus.

type ClusterInstanceViewResult

type ClusterInstanceViewResult struct {
	// REQUIRED; Name of the instance view.
	Name *string

	// REQUIRED; Properties of the instance view.
	Properties *ClusterInstanceViewResultProperties
}

ClusterInstanceViewResult - Cluster Instance View.

func (ClusterInstanceViewResult) MarshalJSON

func (c ClusterInstanceViewResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterInstanceViewResult.

func (*ClusterInstanceViewResult) UnmarshalJSON

func (c *ClusterInstanceViewResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterInstanceViewResult.

type ClusterInstanceViewResultProperties

type ClusterInstanceViewResultProperties struct {
	// REQUIRED; List of statuses of relevant services that make up the HDInsight on AKS cluster to surface to the customer.
	ServiceStatuses []*ServiceStatus

	// REQUIRED; Status of the instance view.
	Status *ClusterInstanceViewPropertiesStatus
}

ClusterInstanceViewResultProperties - Properties of the instance view.

func (ClusterInstanceViewResultProperties) MarshalJSON

func (c ClusterInstanceViewResultProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterInstanceViewResultProperties.

func (*ClusterInstanceViewResultProperties) UnmarshalJSON

func (c *ClusterInstanceViewResultProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterInstanceViewResultProperties.

type ClusterInstanceViewsResult

type ClusterInstanceViewsResult struct {
	// Cluster instance view array.
	Value []*ClusterInstanceViewResult

	// READ-ONLY; The link (url) to the next page of results.
	NextLink *string
}

ClusterInstanceViewsResult - The instance view of a HDInsight Cluster.

func (ClusterInstanceViewsResult) MarshalJSON

func (c ClusterInstanceViewsResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterInstanceViewsResult.

func (*ClusterInstanceViewsResult) UnmarshalJSON

func (c *ClusterInstanceViewsResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterInstanceViewsResult.

type ClusterJob

type ClusterJob struct {
	// REQUIRED; Properties of cluster job.
	Properties ClusterJobPropertiesClassification

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterJob - Cluster job.

func (ClusterJob) MarshalJSON

func (c ClusterJob) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterJob.

func (*ClusterJob) UnmarshalJSON

func (c *ClusterJob) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterJob.

type ClusterJobList

type ClusterJobList struct {
	// REQUIRED; Collection of cluster job.
	Value []*ClusterJob

	// The Url of next result page.
	NextLink *string
}

ClusterJobList - Collection of cluster job.

func (ClusterJobList) MarshalJSON

func (c ClusterJobList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterJobList.

func (*ClusterJobList) UnmarshalJSON

func (c *ClusterJobList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterJobList.

type ClusterJobProperties

type ClusterJobProperties struct {
	// REQUIRED; Type of cluster job.
	JobType *JobType
}

ClusterJobProperties - Properties of cluster job.

func (*ClusterJobProperties) GetClusterJobProperties

func (c *ClusterJobProperties) GetClusterJobProperties() *ClusterJobProperties

GetClusterJobProperties implements the ClusterJobPropertiesClassification interface for type ClusterJobProperties.

func (ClusterJobProperties) MarshalJSON

func (c ClusterJobProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterJobProperties.

func (*ClusterJobProperties) UnmarshalJSON

func (c *ClusterJobProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterJobProperties.

type ClusterJobPropertiesClassification

type ClusterJobPropertiesClassification interface {
	// GetClusterJobProperties returns the ClusterJobProperties content of the underlying type.
	GetClusterJobProperties() *ClusterJobProperties
}

ClusterJobPropertiesClassification provides polymorphic access to related types. Call the interface's GetClusterJobProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ClusterJobProperties, *FlinkJobProperties

type ClusterJobsClient

type ClusterJobsClient struct {
	// contains filtered or unexported fields
}

ClusterJobsClient contains the methods for the ClusterJobs group. Don't use this type directly, use NewClusterJobsClient() instead.

func NewClusterJobsClient

func NewClusterJobsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClusterJobsClient, error)

NewClusterJobsClient creates a new instance of ClusterJobsClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClusterJobsClient) BeginRunJob

func (client *ClusterJobsClient) BeginRunJob(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, clusterJob ClusterJob, options *ClusterJobsClientBeginRunJobOptions) (*runtime.Poller[ClusterJobsClientRunJobResponse], error)

BeginRunJob - Operations on jobs of HDInsight on AKS cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • clusterJob - The Cluster job.
  • options - ClusterJobsClientBeginRunJobOptions contains the optional parameters for the ClusterJobsClient.BeginRunJob method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/RunClusterJob.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterJobsClient().BeginRunJob(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.ClusterJob{
		Properties: &armhdinsightcontainers.FlinkJobProperties{
			JobType:    to.Ptr(armhdinsightcontainers.JobTypeFlinkJob),
			Action:     to.Ptr(armhdinsightcontainers.ActionSTART),
			EntryClass: to.Ptr("com.microsoft.hilo.flink.job.streaming.SleepJob"),
			FlinkConfiguration: map[string]*string{
				"parallelism":         to.Ptr("1"),
				"savepoint.directory": to.Ptr("abfs://flinkjob@hilosa.dfs.core.windows.net/savepoint"),
			},
			JarName:         to.Ptr("flink-sleep-job-0.0.1-SNAPSHOT.jar"),
			JobJarDirectory: to.Ptr("abfs://flinkjob@hilosa.dfs.core.windows.net/jars"),
			JobName:         to.Ptr("flink-job-name"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterJob = armhdinsightcontainers.ClusterJob{
	// 	Properties: &armhdinsightcontainers.FlinkJobProperties{
	// 		JobType: to.Ptr(armhdinsightcontainers.JobTypeFlinkJob),
	// 		Action: to.Ptr(armhdinsightcontainers.ActionSTART),
	// 		EntryClass: to.Ptr("com.microsoft.hilo.flink.job.streaming.SleepJob"),
	// 		FlinkConfiguration: map[string]*string{
	// 			"parallelism": to.Ptr("1"),
	// 			"savepoint.directory": to.Ptr("abfs://flinkjob@hilosa.dfs.core.windows.net/savepoint"),
	// 		},
	// 		JarName: to.Ptr("flink-sleep-job-0.0.1-SNAPSHOT.jar"),
	// 		JobJarDirectory: to.Ptr("abfs://flinkjob@hilosa.dfs.core.windows.net/jars"),
	// 		JobName: to.Ptr("flink-job-name"),
	// 		RunID: to.Ptr("job-15a-4322-b32c-ea541845e911"),
	// 	},
	// }
}
Output:

func (*ClusterJobsClient) NewListPager

func (client *ClusterJobsClient) NewListPager(resourceGroupName string, clusterPoolName string, clusterName string, options *ClusterJobsClientListOptions) *runtime.Pager[ClusterJobsClientListResponse]

NewListPager - Get jobs of HDInsight on AKS cluster.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClusterJobsClientListOptions contains the optional parameters for the ClusterJobsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterJobs.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClusterJobsClient().NewListPager("hiloResourcegroup", "clusterPool1", "cluster1", &armhdinsightcontainers.ClusterJobsClientListOptions{Filter: nil})
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterJobList = armhdinsightcontainers.ClusterJobList{
		// 	Value: []*armhdinsightcontainers.ClusterJob{
		// 		{
		// 			ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1/jobs/flink-job-1"),
		// 			Properties: &armhdinsightcontainers.FlinkJobProperties{
		// 				JobType: to.Ptr(armhdinsightcontainers.JobTypeFlinkJob),
		// 				ActionResult: to.Ptr("SUCCESS"),
		// 				EntryClass: to.Ptr("com.microsoft.hilo.flink.job.streaming.ExampleJob"),
		// 				FlinkConfiguration: map[string]*string{
		// 					"parallelism": to.Ptr("1"),
		// 					"savepoint.directory": to.Ptr("savepoint-directory"),
		// 				},
		// 				JarName: to.Ptr("job.jar"),
		// 				JobID: to.Ptr("362b911137dfefc2e55784666f4d4253"),
		// 				JobJarDirectory: to.Ptr("jobJarDirectory1"),
		// 				JobName: to.Ptr("flink-job-1"),
		// 				JobOutput: to.Ptr("job-output"),
		// 				RunID: to.Ptr("job-15a-4322-b32c-ea541845e911"),
		// 				Status: to.Ptr("RUNNING"),
		// 			},
		// 	}},
		// }
	}
}
Output:

type ClusterJobsClientBeginRunJobOptions

type ClusterJobsClientBeginRunJobOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClusterJobsClientBeginRunJobOptions contains the optional parameters for the ClusterJobsClient.BeginRunJob method.

type ClusterJobsClientListOptions

type ClusterJobsClientListOptions struct {
	// The system query option to filter job returned in the response. Allowed value is 'jobName eq {jobName}' or 'jarName eq
	// {jarName}'.
	Filter *string
}

ClusterJobsClientListOptions contains the optional parameters for the ClusterJobsClient.NewListPager method.

type ClusterJobsClientListResponse

type ClusterJobsClientListResponse struct {
	// Collection of cluster job.
	ClusterJobList
}

ClusterJobsClientListResponse contains the response from method ClusterJobsClient.NewListPager.

type ClusterJobsClientRunJobResponse

type ClusterJobsClientRunJobResponse struct {
	// Cluster job.
	ClusterJob
}

ClusterJobsClientRunJobResponse contains the response from method ClusterJobsClient.BeginRunJob.

type ClusterListResult

type ClusterListResult struct {
	// The list of clusters.
	Value []*Cluster

	// READ-ONLY; The link (url) to the next page of results.
	NextLink *string
}

ClusterListResult - The list cluster operation response.

func (ClusterListResult) MarshalJSON

func (c ClusterListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterListResult.

func (*ClusterListResult) UnmarshalJSON

func (c *ClusterListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterListResult.

type ClusterLogAnalyticsApplicationLogs

type ClusterLogAnalyticsApplicationLogs struct {
	// True if stderror is enabled, otherwise false.
	StdErrorEnabled *bool

	// True if stdout is enabled, otherwise false.
	StdOutEnabled *bool
}

ClusterLogAnalyticsApplicationLogs - Collection of logs to be enabled or disabled for log analytics.

func (ClusterLogAnalyticsApplicationLogs) MarshalJSON

func (c ClusterLogAnalyticsApplicationLogs) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterLogAnalyticsApplicationLogs.

func (*ClusterLogAnalyticsApplicationLogs) UnmarshalJSON

func (c *ClusterLogAnalyticsApplicationLogs) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterLogAnalyticsApplicationLogs.

type ClusterLogAnalyticsProfile

type ClusterLogAnalyticsProfile struct {
	// REQUIRED; True if log analytics is enabled for the cluster, otherwise false.
	Enabled *bool

	// Collection of logs to be enabled or disabled for log analytics.
	ApplicationLogs *ClusterLogAnalyticsApplicationLogs

	// True if metrics are enabled, otherwise false.
	MetricsEnabled *bool
}

ClusterLogAnalyticsProfile - Cluster log analytics profile to enable or disable OMS agent for cluster.

func (ClusterLogAnalyticsProfile) MarshalJSON

func (c ClusterLogAnalyticsProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterLogAnalyticsProfile.

func (*ClusterLogAnalyticsProfile) UnmarshalJSON

func (c *ClusterLogAnalyticsProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterLogAnalyticsProfile.

type ClusterPatch

type ClusterPatch struct {
	// Define cluster patch specific properties.
	Properties *ClusterPatchProperties

	// Resource tags.
	Tags map[string]*string
}

ClusterPatch - The patch for a cluster.

func (ClusterPatch) MarshalJSON

func (c ClusterPatch) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPatch.

func (*ClusterPatch) UnmarshalJSON

func (c *ClusterPatch) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPatch.

type ClusterPatchProperties

type ClusterPatchProperties struct {
	// Cluster resource patch properties.
	ClusterProfile *UpdatableClusterProfile
}

ClusterPatchProperties - Cluster resource patch data.

func (ClusterPatchProperties) MarshalJSON

func (c ClusterPatchProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPatchProperties.

func (*ClusterPatchProperties) UnmarshalJSON

func (c *ClusterPatchProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPatchProperties.

type ClusterPool

type ClusterPool struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// Gets or sets the properties. Define cluster pool specific properties.
	Properties *ClusterPoolResourceProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterPool - Cluster pool.

func (ClusterPool) MarshalJSON

func (c ClusterPool) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPool.

func (*ClusterPool) UnmarshalJSON

func (c *ClusterPool) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPool.

type ClusterPoolAKSPatchVersionUpgradeProperties added in v0.3.0

type ClusterPoolAKSPatchVersionUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterPoolUpgradeType

	// Target AKS version. When it's not set, latest version will be used. When upgradeClusterPool is true and upgradeAllClusterNodes
	// is false, target version should be greater or equal to current version.
	// When upgradeClusterPool is false and upgradeAllClusterNodes is true, target version should be equal to AKS version of cluster
	// pool.
	TargetAksVersion *string

	// whether upgrade all clusters' nodes. If it's true, upgradeClusterPool should be false.
	UpgradeAllClusterNodes *bool

	// whether upgrade cluster pool or not. If it's true, upgradeAllClusterNodes should be false.
	UpgradeClusterPool *bool
}

ClusterPoolAKSPatchVersionUpgradeProperties - Properties of upgrading cluster pool's AKS patch version.

func (*ClusterPoolAKSPatchVersionUpgradeProperties) GetClusterPoolUpgradeProperties added in v0.3.0

func (c *ClusterPoolAKSPatchVersionUpgradeProperties) GetClusterPoolUpgradeProperties() *ClusterPoolUpgradeProperties

GetClusterPoolUpgradeProperties implements the ClusterPoolUpgradePropertiesClassification interface for type ClusterPoolAKSPatchVersionUpgradeProperties.

func (ClusterPoolAKSPatchVersionUpgradeProperties) MarshalJSON added in v0.3.0

MarshalJSON implements the json.Marshaller interface for type ClusterPoolAKSPatchVersionUpgradeProperties.

func (*ClusterPoolAKSPatchVersionUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolAKSPatchVersionUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolAKSPatchVersionUpgradeProperties.

type ClusterPoolAvailableUpgrade added in v0.3.0

type ClusterPoolAvailableUpgrade struct {
	// Gets or sets the properties. Define cluster pool upgrade specific properties.
	Properties ClusterPoolAvailableUpgradePropertiesClassification

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterPoolAvailableUpgrade - Cluster pool available upgrade.

func (ClusterPoolAvailableUpgrade) MarshalJSON added in v0.3.0

func (c ClusterPoolAvailableUpgrade) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolAvailableUpgrade.

func (*ClusterPoolAvailableUpgrade) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolAvailableUpgrade) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolAvailableUpgrade.

type ClusterPoolAvailableUpgradeAksPatchUpgradeProperties added in v0.3.0

type ClusterPoolAvailableUpgradeAksPatchUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterPoolAvailableUpgradeType

	// Current AKS version.
	CurrentVersion *string

	// Current AKS version's status: whether it is deprecated or supported
	CurrentVersionStatus *CurrentClusterPoolAksVersionStatus

	// Latest AKS patch version.
	LatestVersion *string
}

ClusterPoolAvailableUpgradeAksPatchUpgradeProperties - Cluster pool available AKS patch version upgrade.

func (*ClusterPoolAvailableUpgradeAksPatchUpgradeProperties) GetClusterPoolAvailableUpgradeProperties added in v0.3.0

GetClusterPoolAvailableUpgradeProperties implements the ClusterPoolAvailableUpgradePropertiesClassification interface for type ClusterPoolAvailableUpgradeAksPatchUpgradeProperties.

func (ClusterPoolAvailableUpgradeAksPatchUpgradeProperties) MarshalJSON added in v0.3.0

MarshalJSON implements the json.Marshaller interface for type ClusterPoolAvailableUpgradeAksPatchUpgradeProperties.

func (*ClusterPoolAvailableUpgradeAksPatchUpgradeProperties) UnmarshalJSON added in v0.3.0

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolAvailableUpgradeAksPatchUpgradeProperties.

type ClusterPoolAvailableUpgradeList added in v0.3.0

type ClusterPoolAvailableUpgradeList struct {
	// REQUIRED; Collection of cluster pool available upgrade.
	Value []*ClusterPoolAvailableUpgrade

	// The Url of next result page.
	NextLink *string
}

ClusterPoolAvailableUpgradeList - collection of cluster pool available upgrade.

func (ClusterPoolAvailableUpgradeList) MarshalJSON added in v0.3.0

func (c ClusterPoolAvailableUpgradeList) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolAvailableUpgradeList.

func (*ClusterPoolAvailableUpgradeList) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolAvailableUpgradeList) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolAvailableUpgradeList.

type ClusterPoolAvailableUpgradeNodeOsUpgradeProperties added in v0.3.0

type ClusterPoolAvailableUpgradeNodeOsUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterPoolAvailableUpgradeType

	// The latest node OS version.
	LatestVersion *string
}

ClusterPoolAvailableUpgradeNodeOsUpgradeProperties - Cluster pool available node OS update.

func (*ClusterPoolAvailableUpgradeNodeOsUpgradeProperties) GetClusterPoolAvailableUpgradeProperties added in v0.3.0

GetClusterPoolAvailableUpgradeProperties implements the ClusterPoolAvailableUpgradePropertiesClassification interface for type ClusterPoolAvailableUpgradeNodeOsUpgradeProperties.

func (ClusterPoolAvailableUpgradeNodeOsUpgradeProperties) MarshalJSON added in v0.3.0

MarshalJSON implements the json.Marshaller interface for type ClusterPoolAvailableUpgradeNodeOsUpgradeProperties.

func (*ClusterPoolAvailableUpgradeNodeOsUpgradeProperties) UnmarshalJSON added in v0.3.0

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolAvailableUpgradeNodeOsUpgradeProperties.

type ClusterPoolAvailableUpgradeProperties added in v0.3.0

type ClusterPoolAvailableUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterPoolAvailableUpgradeType
}

ClusterPoolAvailableUpgradeProperties - Cluster pool available upgrade properties.

func (*ClusterPoolAvailableUpgradeProperties) GetClusterPoolAvailableUpgradeProperties added in v0.3.0

func (c *ClusterPoolAvailableUpgradeProperties) GetClusterPoolAvailableUpgradeProperties() *ClusterPoolAvailableUpgradeProperties

GetClusterPoolAvailableUpgradeProperties implements the ClusterPoolAvailableUpgradePropertiesClassification interface for type ClusterPoolAvailableUpgradeProperties.

func (ClusterPoolAvailableUpgradeProperties) MarshalJSON added in v0.3.0

func (c ClusterPoolAvailableUpgradeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolAvailableUpgradeProperties.

func (*ClusterPoolAvailableUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolAvailableUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolAvailableUpgradeProperties.

type ClusterPoolAvailableUpgradePropertiesClassification added in v0.3.0

type ClusterPoolAvailableUpgradePropertiesClassification interface {
	// GetClusterPoolAvailableUpgradeProperties returns the ClusterPoolAvailableUpgradeProperties content of the underlying type.
	GetClusterPoolAvailableUpgradeProperties() *ClusterPoolAvailableUpgradeProperties
}

ClusterPoolAvailableUpgradePropertiesClassification provides polymorphic access to related types. Call the interface's GetClusterPoolAvailableUpgradeProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ClusterPoolAvailableUpgradeAksPatchUpgradeProperties, *ClusterPoolAvailableUpgradeNodeOsUpgradeProperties, *ClusterPoolAvailableUpgradeProperties

type ClusterPoolAvailableUpgradeType added in v0.3.0

type ClusterPoolAvailableUpgradeType string

ClusterPoolAvailableUpgradeType - Type of upgrade.

const (
	ClusterPoolAvailableUpgradeTypeAKSPatchUpgrade ClusterPoolAvailableUpgradeType = "AKSPatchUpgrade"
	ClusterPoolAvailableUpgradeTypeNodeOsUpgrade   ClusterPoolAvailableUpgradeType = "NodeOsUpgrade"
)

func PossibleClusterPoolAvailableUpgradeTypeValues added in v0.3.0

func PossibleClusterPoolAvailableUpgradeTypeValues() []ClusterPoolAvailableUpgradeType

PossibleClusterPoolAvailableUpgradeTypeValues returns the possible values for the ClusterPoolAvailableUpgradeType const type.

type ClusterPoolAvailableUpgradesClient added in v0.3.0

type ClusterPoolAvailableUpgradesClient struct {
	// contains filtered or unexported fields
}

ClusterPoolAvailableUpgradesClient contains the methods for the ClusterPoolAvailableUpgrades group. Don't use this type directly, use NewClusterPoolAvailableUpgradesClient() instead.

func NewClusterPoolAvailableUpgradesClient added in v0.3.0

func NewClusterPoolAvailableUpgradesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClusterPoolAvailableUpgradesClient, error)

NewClusterPoolAvailableUpgradesClient creates a new instance of ClusterPoolAvailableUpgradesClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClusterPoolAvailableUpgradesClient) NewListPager added in v0.3.0

NewListPager - List a cluster pool available upgrade.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • options - ClusterPoolAvailableUpgradesClientListOptions contains the optional parameters for the ClusterPoolAvailableUpgradesClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterPoolAvailableUpgrades.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClusterPoolAvailableUpgradesClient().NewListPager("hiloResourcegroup", "clusterpool1", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterPoolAvailableUpgradeList = armhdinsightcontainers.ClusterPoolAvailableUpgradeList{
		// 	Value: []*armhdinsightcontainers.ClusterPoolAvailableUpgrade{
		// 		{
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/availableUpgrades/AKSPatchUpgrade"),
		// 			Properties: &armhdinsightcontainers.ClusterPoolAvailableUpgradeAksPatchUpgradeProperties{
		// 				UpgradeType: to.Ptr(armhdinsightcontainers.ClusterPoolAvailableUpgradeTypeAKSPatchUpgrade),
		// 				CurrentVersion: to.Ptr("1.26.3"),
		// 				CurrentVersionStatus: to.Ptr(armhdinsightcontainers.CurrentClusterPoolAksVersionStatusDeprecated),
		// 				LatestVersion: to.Ptr("1.26.6"),
		// 			},
		// 		},
		// 		{
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/availableUpgrades/NodeOsUpgrade"),
		// 			Properties: &armhdinsightcontainers.ClusterPoolAvailableUpgradeNodeOsUpgradeProperties{
		// 				UpgradeType: to.Ptr(armhdinsightcontainers.ClusterPoolAvailableUpgradeTypeNodeOsUpgrade),
		// 				LatestVersion: to.Ptr("AKSCBLMariner-V2gen2-202310.09.0"),
		// 			},
		// 	}},
		// }
	}
}
Output:

type ClusterPoolAvailableUpgradesClientListOptions added in v0.3.0

type ClusterPoolAvailableUpgradesClientListOptions struct {
}

ClusterPoolAvailableUpgradesClientListOptions contains the optional parameters for the ClusterPoolAvailableUpgradesClient.NewListPager method.

type ClusterPoolAvailableUpgradesClientListResponse added in v0.3.0

type ClusterPoolAvailableUpgradesClientListResponse struct {
	// collection of cluster pool available upgrade.
	ClusterPoolAvailableUpgradeList
}

ClusterPoolAvailableUpgradesClientListResponse contains the response from method ClusterPoolAvailableUpgradesClient.NewListPager.

type ClusterPoolListResult

type ClusterPoolListResult struct {
	// The list of cluster pools.
	Value []*ClusterPool

	// READ-ONLY; The link (url) to the next page of results.
	NextLink *string
}

ClusterPoolListResult - The list cluster pools operation response.

func (ClusterPoolListResult) MarshalJSON

func (c ClusterPoolListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolListResult.

func (*ClusterPoolListResult) UnmarshalJSON

func (c *ClusterPoolListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolListResult.

type ClusterPoolNodeOsImageUpdateProperties added in v0.3.0

type ClusterPoolNodeOsImageUpdateProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterPoolUpgradeType
}

ClusterPoolNodeOsImageUpdateProperties - Properties of upgrading cluster pool's AKS patch version.

func (*ClusterPoolNodeOsImageUpdateProperties) GetClusterPoolUpgradeProperties added in v0.3.0

func (c *ClusterPoolNodeOsImageUpdateProperties) GetClusterPoolUpgradeProperties() *ClusterPoolUpgradeProperties

GetClusterPoolUpgradeProperties implements the ClusterPoolUpgradePropertiesClassification interface for type ClusterPoolNodeOsImageUpdateProperties.

func (ClusterPoolNodeOsImageUpdateProperties) MarshalJSON added in v0.3.0

func (c ClusterPoolNodeOsImageUpdateProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolNodeOsImageUpdateProperties.

func (*ClusterPoolNodeOsImageUpdateProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolNodeOsImageUpdateProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolNodeOsImageUpdateProperties.

type ClusterPoolResourceProperties

type ClusterPoolResourceProperties struct {
	// REQUIRED; CLuster pool compute profile.
	ComputeProfile *ClusterPoolResourcePropertiesComputeProfile

	// CLuster pool profile.
	ClusterPoolProfile *ClusterPoolResourcePropertiesClusterPoolProfile

	// Cluster pool log analytics profile to enable OMS agent for AKS cluster.
	LogAnalyticsProfile *ClusterPoolResourcePropertiesLogAnalyticsProfile

	// A resource group created by RP, to hold the resources created by RP on-behalf of customers. It will also be used to generate
	// aksManagedResourceGroupName by pattern: MC{managedResourceGroupName}
	// {clusterPoolName}_{region}. Please make sure it meets resource group name restriction.
	ManagedResourceGroupName *string

	// Cluster pool network profile.
	NetworkProfile *ClusterPoolResourcePropertiesNetworkProfile

	// READ-ONLY; Properties of underlying AKS cluster.
	AksClusterProfile *ClusterPoolResourcePropertiesAksClusterProfile

	// READ-ONLY; A resource group created by AKS, to hold the infrastructure resources created by AKS on-behalf of customers.
	// It is generated by cluster pool name and managed resource group name by pattern: MC
	// {managedResourceGroupName}{clusterPoolName}_{region}
	AksManagedResourceGroupName *string

	// READ-ONLY; A unique id generated by the RP to identify the resource.
	DeploymentID *string

	// READ-ONLY; Provisioning state of the resource.
	ProvisioningState *ProvisioningStatus

	// READ-ONLY; Business status of the resource.
	Status *string
}

ClusterPoolResourceProperties - Cluster pool resource properties.

func (ClusterPoolResourceProperties) MarshalJSON

func (c ClusterPoolResourceProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolResourceProperties.

func (*ClusterPoolResourceProperties) UnmarshalJSON

func (c *ClusterPoolResourceProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolResourceProperties.

type ClusterPoolResourcePropertiesAksClusterProfile

type ClusterPoolResourcePropertiesAksClusterProfile struct {
	// Identity properties of the AKS cluster agentpool MSI
	AksClusterAgentPoolIdentityProfile *AksClusterProfileAksClusterAgentPoolIdentityProfile

	// ARM Resource ID of the AKS cluster
	AksClusterResourceID *string

	// READ-ONLY; AKS control plane and default node pool version of this ClusterPool
	AksVersion *string
}

ClusterPoolResourcePropertiesAksClusterProfile - Properties of underlying AKS cluster.

func (ClusterPoolResourcePropertiesAksClusterProfile) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ClusterPoolResourcePropertiesAksClusterProfile.

func (*ClusterPoolResourcePropertiesAksClusterProfile) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolResourcePropertiesAksClusterProfile.

type ClusterPoolResourcePropertiesClusterPoolProfile

type ClusterPoolResourcePropertiesClusterPoolProfile struct {
	// REQUIRED; Cluster pool version is a 2-part version.
	ClusterPoolVersion *string
}

ClusterPoolResourcePropertiesClusterPoolProfile - CLuster pool profile.

func (ClusterPoolResourcePropertiesClusterPoolProfile) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ClusterPoolResourcePropertiesClusterPoolProfile.

func (*ClusterPoolResourcePropertiesClusterPoolProfile) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolResourcePropertiesClusterPoolProfile.

type ClusterPoolResourcePropertiesComputeProfile

type ClusterPoolResourcePropertiesComputeProfile struct {
	// REQUIRED; The virtual machine SKU.
	VMSize *string

	// READ-ONLY; The number of virtual machines.
	Count *int32
}

ClusterPoolResourcePropertiesComputeProfile - CLuster pool compute profile.

func (ClusterPoolResourcePropertiesComputeProfile) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ClusterPoolResourcePropertiesComputeProfile.

func (*ClusterPoolResourcePropertiesComputeProfile) UnmarshalJSON

func (c *ClusterPoolResourcePropertiesComputeProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolResourcePropertiesComputeProfile.

type ClusterPoolResourcePropertiesLogAnalyticsProfile

type ClusterPoolResourcePropertiesLogAnalyticsProfile struct {
	// REQUIRED; True if log analytics is enabled for cluster pool, otherwise false.
	Enabled *bool

	// Log analytics workspace to associate with the OMS agent.
	WorkspaceID *string
}

ClusterPoolResourcePropertiesLogAnalyticsProfile - Cluster pool log analytics profile to enable OMS agent for AKS cluster.

func (ClusterPoolResourcePropertiesLogAnalyticsProfile) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ClusterPoolResourcePropertiesLogAnalyticsProfile.

func (*ClusterPoolResourcePropertiesLogAnalyticsProfile) UnmarshalJSON

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolResourcePropertiesLogAnalyticsProfile.

type ClusterPoolResourcePropertiesNetworkProfile

type ClusterPoolResourcePropertiesNetworkProfile struct {
	// REQUIRED; Cluster pool subnet resource id.
	SubnetID *string

	// IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with private AKS clusters.
	// So you cannot set enablePrivateApiServer to true and
	// apiServerAuthorizedIpRanges at the same time.
	APIServerAuthorizedIPRanges []*string

	// ClusterPool is based on AKS cluster. AKS cluster exposes the API server to public internet by default. If you set this
	// property to true, a private AKS cluster will be created, and it will use private
	// apiserver, which is not exposed to public internet.
	EnablePrivateAPIServer *bool

	// This can only be set at cluster pool creation time and cannot be changed later.
	OutboundType *OutboundType
}

ClusterPoolResourcePropertiesNetworkProfile - Cluster pool network profile.

func (ClusterPoolResourcePropertiesNetworkProfile) MarshalJSON

MarshalJSON implements the json.Marshaller interface for type ClusterPoolResourcePropertiesNetworkProfile.

func (*ClusterPoolResourcePropertiesNetworkProfile) UnmarshalJSON

func (c *ClusterPoolResourcePropertiesNetworkProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolResourcePropertiesNetworkProfile.

type ClusterPoolUpgrade added in v0.3.0

type ClusterPoolUpgrade struct {
	// REQUIRED; Properties of upgrading cluster pool.
	Properties ClusterPoolUpgradePropertiesClassification
}

ClusterPoolUpgrade - Cluster Pool Upgrade.

func (ClusterPoolUpgrade) MarshalJSON added in v0.3.0

func (c ClusterPoolUpgrade) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolUpgrade.

func (*ClusterPoolUpgrade) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolUpgrade) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolUpgrade.

type ClusterPoolUpgradeProperties added in v0.3.0

type ClusterPoolUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterPoolUpgradeType
}

ClusterPoolUpgradeProperties - Properties of upgrading cluster pool.

func (*ClusterPoolUpgradeProperties) GetClusterPoolUpgradeProperties added in v0.3.0

func (c *ClusterPoolUpgradeProperties) GetClusterPoolUpgradeProperties() *ClusterPoolUpgradeProperties

GetClusterPoolUpgradeProperties implements the ClusterPoolUpgradePropertiesClassification interface for type ClusterPoolUpgradeProperties.

func (ClusterPoolUpgradeProperties) MarshalJSON added in v0.3.0

func (c ClusterPoolUpgradeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolUpgradeProperties.

func (*ClusterPoolUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterPoolUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolUpgradeProperties.

type ClusterPoolUpgradePropertiesClassification added in v0.3.0

type ClusterPoolUpgradePropertiesClassification interface {
	// GetClusterPoolUpgradeProperties returns the ClusterPoolUpgradeProperties content of the underlying type.
	GetClusterPoolUpgradeProperties() *ClusterPoolUpgradeProperties
}

ClusterPoolUpgradePropertiesClassification provides polymorphic access to related types. Call the interface's GetClusterPoolUpgradeProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ClusterPoolAKSPatchVersionUpgradeProperties, *ClusterPoolNodeOsImageUpdateProperties, *ClusterPoolUpgradeProperties

type ClusterPoolUpgradeType added in v0.3.0

type ClusterPoolUpgradeType string

ClusterPoolUpgradeType - Type of upgrade.

const (
	ClusterPoolUpgradeTypeAKSPatchUpgrade ClusterPoolUpgradeType = "AKSPatchUpgrade"
	ClusterPoolUpgradeTypeNodeOsUpgrade   ClusterPoolUpgradeType = "NodeOsUpgrade"
)

func PossibleClusterPoolUpgradeTypeValues added in v0.3.0

func PossibleClusterPoolUpgradeTypeValues() []ClusterPoolUpgradeType

PossibleClusterPoolUpgradeTypeValues returns the possible values for the ClusterPoolUpgradeType const type.

type ClusterPoolVersion

type ClusterPoolVersion struct {
	// Cluster pool version properties.
	Properties *ClusterPoolVersionProperties

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterPoolVersion - Available cluster pool version.

func (ClusterPoolVersion) MarshalJSON

func (c ClusterPoolVersion) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolVersion.

func (*ClusterPoolVersion) UnmarshalJSON

func (c *ClusterPoolVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolVersion.

type ClusterPoolVersionProperties

type ClusterPoolVersionProperties struct {
	// AKS version.
	AksVersion *string

	// Cluster pool version is a 2-part version.
	ClusterPoolVersion *string

	// Indicate if this version is in preview or not.
	IsPreview *bool
}

ClusterPoolVersionProperties - Cluster pool version properties.

func (ClusterPoolVersionProperties) MarshalJSON

func (c ClusterPoolVersionProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolVersionProperties.

func (*ClusterPoolVersionProperties) UnmarshalJSON

func (c *ClusterPoolVersionProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolVersionProperties.

type ClusterPoolVersionsListResult

type ClusterPoolVersionsListResult struct {
	// The list of cluster pool versions.
	Value []*ClusterPoolVersion

	// READ-ONLY; The link (url) to the next page of results.
	NextLink *string
}

ClusterPoolVersionsListResult - Represents a list of cluster pool versions.

func (ClusterPoolVersionsListResult) MarshalJSON

func (c ClusterPoolVersionsListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPoolVersionsListResult.

func (*ClusterPoolVersionsListResult) UnmarshalJSON

func (c *ClusterPoolVersionsListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPoolVersionsListResult.

type ClusterPoolsClient

type ClusterPoolsClient struct {
	// contains filtered or unexported fields
}

ClusterPoolsClient contains the methods for the ClusterPools group. Don't use this type directly, use NewClusterPoolsClient() instead.

func NewClusterPoolsClient

func NewClusterPoolsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClusterPoolsClient, error)

NewClusterPoolsClient creates a new instance of ClusterPoolsClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClusterPoolsClient) BeginCreateOrUpdate

func (client *ClusterPoolsClient) BeginCreateOrUpdate(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterPool ClusterPool, options *ClusterPoolsClientBeginCreateOrUpdateOptions) (*runtime.Poller[ClusterPoolsClientCreateOrUpdateResponse], error)

BeginCreateOrUpdate - Creates or updates a cluster pool. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterPool - The Cluster Pool to create.
  • options - ClusterPoolsClientBeginCreateOrUpdateOptions contains the optional parameters for the ClusterPoolsClient.BeginCreateOrUpdate method.
Example (ClusterPoolPut)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateClusterPool.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginCreateOrUpdate(ctx, "hiloResourcegroup", "clusterpool1", armhdinsightcontainers.ClusterPool{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
			ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
				ClusterPoolVersion: to.Ptr("1.2"),
			},
			ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
				VMSize: to.Ptr("Standard_D3_v2"),
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 			AksVersion: to.Ptr("1.24"),
	// 		},
	// 		ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
	// 			ClusterPoolVersion: to.Ptr("1.2"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

Example (ClusterPoolPutWithPrivateAks)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateClusterPoolWithPrivateAks.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginCreateOrUpdate(ctx, "hiloResourcegroup", "clusterpool1", armhdinsightcontainers.ClusterPool{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
			ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
				ClusterPoolVersion: to.Ptr("1.2"),
			},
			ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
				VMSize: to.Ptr("Standard_D3_v2"),
			},
			NetworkProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesNetworkProfile{
				EnablePrivateAPIServer: to.Ptr(true),
				SubnetID:               to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 			AksVersion: to.Ptr("1.24"),
	// 		},
	// 		ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
	// 			ClusterPoolVersion: to.Ptr("1.2"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		NetworkProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesNetworkProfile{
	// 			EnablePrivateAPIServer: to.Ptr(true),
	// 			SubnetID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 		},
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

Example (ClusterPoolPutWithUdrAks)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateClusterPoolWithUDRAks.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginCreateOrUpdate(ctx, "hiloResourcegroup", "clusterpool1", armhdinsightcontainers.ClusterPool{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
			ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
				ClusterPoolVersion: to.Ptr("1.2"),
			},
			ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
				VMSize: to.Ptr("Standard_D3_v2"),
			},
			NetworkProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesNetworkProfile{
				OutboundType: to.Ptr(armhdinsightcontainers.OutboundTypeUserDefinedRouting),
				SubnetID:     to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 			AksVersion: to.Ptr("1.24"),
	// 		},
	// 		ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
	// 			ClusterPoolVersion: to.Ptr("1.2"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		NetworkProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesNetworkProfile{
	// 			OutboundType: to.Ptr(armhdinsightcontainers.OutboundTypeUserDefinedRouting),
	// 			SubnetID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"),
	// 		},
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

func (*ClusterPoolsClient) BeginDelete

func (client *ClusterPoolsClient) BeginDelete(ctx context.Context, resourceGroupName string, clusterPoolName string, options *ClusterPoolsClientBeginDeleteOptions) (*runtime.Poller[ClusterPoolsClientDeleteResponse], error)

BeginDelete - Deletes a Cluster Pool. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • options - ClusterPoolsClientBeginDeleteOptions contains the optional parameters for the ClusterPoolsClient.BeginDelete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/DeleteClusterPool.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginDelete(ctx, "rg1", "clusterpool1", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	_, err = poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
}
Output:

func (*ClusterPoolsClient) BeginUpdateTags

func (client *ClusterPoolsClient) BeginUpdateTags(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterPoolTags TagsObject, options *ClusterPoolsClientBeginUpdateTagsOptions) (*runtime.Poller[ClusterPoolsClientUpdateTagsResponse], error)

BeginUpdateTags - Updates an existing Cluster Pool Tags. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterPoolTags - Parameters supplied to update tags.
  • options - ClusterPoolsClientBeginUpdateTagsOptions contains the optional parameters for the ClusterPoolsClient.BeginUpdateTags method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/PatchClusterPool.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginUpdateTags(ctx, "hiloResourcegroup", "clusterpool1", armhdinsightcontainers.TagsObject{
		Tags: map[string]*string{
			"tag1": to.Ptr("value1"),
			"tag2": to.Ptr("value2"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Tags: map[string]*string{
	// 		"tag1": to.Ptr("value1"),
	// 		"tag2": to.Ptr("value2"),
	// 	},
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

func (*ClusterPoolsClient) BeginUpgrade added in v0.3.0

func (client *ClusterPoolsClient) BeginUpgrade(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterPoolUpgradeRequest ClusterPoolUpgrade, options *ClusterPoolsClientBeginUpgradeOptions) (*runtime.Poller[ClusterPoolsClientUpgradeResponse], error)

BeginUpgrade - Upgrade a cluster pool. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterPoolUpgradeRequest - Upgrade a cluster pool.
  • options - ClusterPoolsClientBeginUpgradeOptions contains the optional parameters for the ClusterPoolsClient.BeginUpgrade method.
Example (ClusterPoolsUpgradeAksPatchVersion)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/UpgradeAKSPatchVersionForClusterPool.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginUpgrade(ctx, "hiloResourcegroup", "clusterpool1", armhdinsightcontainers.ClusterPoolUpgrade{
		Properties: &armhdinsightcontainers.ClusterPoolAKSPatchVersionUpgradeProperties{
			UpgradeType:            to.Ptr(armhdinsightcontainers.ClusterPoolUpgradeTypeAKSPatchUpgrade),
			UpgradeAllClusterNodes: to.Ptr(false),
			UpgradeClusterPool:     to.Ptr(true),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 			AksVersion: to.Ptr("1.24"),
	// 		},
	// 		ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
	// 			ClusterPoolVersion: to.Ptr("1.2"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

Example (ClusterPoolsUpgradeNodeOs)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/UpgradeNodeOsForClusterPool.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClusterPoolsClient().BeginUpgrade(ctx, "hiloResourcegroup", "clusterpool1", armhdinsightcontainers.ClusterPoolUpgrade{
		Properties: &armhdinsightcontainers.ClusterPoolNodeOsImageUpdateProperties{
			UpgradeType: to.Ptr(armhdinsightcontainers.ClusterPoolUpgradeTypeNodeOsUpgrade),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 			AksVersion: to.Ptr("1.24"),
	// 		},
	// 		ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
	// 			ClusterPoolVersion: to.Ptr("1.2"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

func (*ClusterPoolsClient) Get

func (client *ClusterPoolsClient) Get(ctx context.Context, resourceGroupName string, clusterPoolName string, options *ClusterPoolsClientGetOptions) (ClusterPoolsClientGetResponse, error)

Get - Gets a cluster pool. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • options - ClusterPoolsClientGetOptions contains the optional parameters for the ClusterPoolsClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/GetClusterPool.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewClusterPoolsClient().Get(ctx, "hiloResourcegroup", "clusterpool1", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterPool = armhdinsightcontainers.ClusterPool{
	// 	Name: to.Ptr("clusterpool1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
	// 		AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
	// 			AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
	// 				MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
	// 				MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
	// 				MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
	// 			},
	// 			AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
	// 			AksVersion: to.Ptr("1.24"),
	// 		},
	// 		ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
	// 			ClusterPoolVersion: to.Ptr("1.2"),
	// 		},
	// 		ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
	// 			Count: to.Ptr[int32](3),
	// 			VMSize: to.Ptr("Standard_D3_v2"),
	// 		},
	// 		DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
	// 		ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 	},
	// }
}
Output:

func (*ClusterPoolsClient) NewListByResourceGroupPager

NewListByResourceGroupPager - Lists the HDInsight cluster pools under a resource group.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • options - ClusterPoolsClientListByResourceGroupOptions contains the optional parameters for the ClusterPoolsClient.NewListByResourceGroupPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterPools.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClusterPoolsClient().NewListByResourceGroupPager("hiloResourcegroup", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterPoolListResult = armhdinsightcontainers.ClusterPoolListResult{
		// 	Value: []*armhdinsightcontainers.ClusterPool{
		// 		{
		// 			Name: to.Ptr("clusterpool1"),
		// 			Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
		// 			Location: to.Ptr("West US 2"),
		// 			Tags: map[string]*string{
		// 				"company": to.Ptr("Contoso"),
		// 				"department": to.Ptr("MightyMight"),
		// 			},
		// 			Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
		// 				AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
		// 					AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
		// 						MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
		// 						MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
		// 						MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
		// 					},
		// 					AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
		// 					AksVersion: to.Ptr("1.24"),
		// 				},
		// 				ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
		// 					ClusterPoolVersion: to.Ptr("1.2"),
		// 				},
		// 				ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
		// 					Count: to.Ptr[int32](3),
		// 					VMSize: to.Ptr("Standard_D3_v2"),
		// 				},
		// 				DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
		// 				ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
		// 				ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
		// 			},
		// 	}},
		// }
	}
}
Output:

func (*ClusterPoolsClient) NewListBySubscriptionPager

NewListBySubscriptionPager - Gets the list of Cluster Pools within a Subscription.

Generated from API version 2023-11-01-preview

  • options - ClusterPoolsClientListBySubscriptionOptions contains the optional parameters for the ClusterPoolsClient.NewListBySubscriptionPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterPoolsSubscription.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClusterPoolsClient().NewListBySubscriptionPager(nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterPoolListResult = armhdinsightcontainers.ClusterPoolListResult{
		// 	Value: []*armhdinsightcontainers.ClusterPool{
		// 		{
		// 			Name: to.Ptr("clusterpool1"),
		// 			Type: to.Ptr("Microsoft.HDInsight/clusterPools"),
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1"),
		// 			Location: to.Ptr("West US 2"),
		// 			Tags: map[string]*string{
		// 				"company": to.Ptr("Contoso"),
		// 				"department": to.Ptr("MightyMight"),
		// 			},
		// 			Properties: &armhdinsightcontainers.ClusterPoolResourceProperties{
		// 				AksClusterProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesAksClusterProfile{
		// 					AksClusterAgentPoolIdentityProfile: &armhdinsightcontainers.AksClusterProfileAksClusterAgentPoolIdentityProfile{
		// 						MsiClientID: to.Ptr("a89fb478-2a84-4d9b-8f18-3e8c4d1db3eb"),
		// 						MsiObjectID: to.Ptr("dc7ef861-8b55-4ffb-9003-20885cd895a9"),
		// 						MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ManagedIdentity/userAssignedIdentities/clusterpool1-agentpool"),
		// 					},
		// 					AksClusterResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hdi-45cd32aead6e4a91b079a0cdbfac8c36/providers/Microsoft.ContainerService/managedClusters/clusterpool1"),
		// 					AksVersion: to.Ptr("1.24"),
		// 				},
		// 				ClusterPoolProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesClusterPoolProfile{
		// 					ClusterPoolVersion: to.Ptr("1.2"),
		// 				},
		// 				ComputeProfile: &armhdinsightcontainers.ClusterPoolResourcePropertiesComputeProfile{
		// 					Count: to.Ptr[int32](3),
		// 					VMSize: to.Ptr("Standard_D3_v2"),
		// 				},
		// 				DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
		// 				ManagedResourceGroupName: to.Ptr("hdi-45cd32aead6e4a91b079a0cdbfac8c36"),
		// 				ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
		// 			},
		// 	}},
		// }
	}
}
Output:

type ClusterPoolsClientBeginCreateOrUpdateOptions

type ClusterPoolsClientBeginCreateOrUpdateOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClusterPoolsClientBeginCreateOrUpdateOptions contains the optional parameters for the ClusterPoolsClient.BeginCreateOrUpdate method.

type ClusterPoolsClientBeginDeleteOptions

type ClusterPoolsClientBeginDeleteOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClusterPoolsClientBeginDeleteOptions contains the optional parameters for the ClusterPoolsClient.BeginDelete method.

type ClusterPoolsClientBeginUpdateTagsOptions

type ClusterPoolsClientBeginUpdateTagsOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClusterPoolsClientBeginUpdateTagsOptions contains the optional parameters for the ClusterPoolsClient.BeginUpdateTags method.

type ClusterPoolsClientBeginUpgradeOptions added in v0.3.0

type ClusterPoolsClientBeginUpgradeOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClusterPoolsClientBeginUpgradeOptions contains the optional parameters for the ClusterPoolsClient.BeginUpgrade method.

type ClusterPoolsClientCreateOrUpdateResponse

type ClusterPoolsClientCreateOrUpdateResponse struct {
	// Cluster pool.
	ClusterPool
}

ClusterPoolsClientCreateOrUpdateResponse contains the response from method ClusterPoolsClient.BeginCreateOrUpdate.

type ClusterPoolsClientDeleteResponse

type ClusterPoolsClientDeleteResponse struct {
}

ClusterPoolsClientDeleteResponse contains the response from method ClusterPoolsClient.BeginDelete.

type ClusterPoolsClientGetOptions

type ClusterPoolsClientGetOptions struct {
}

ClusterPoolsClientGetOptions contains the optional parameters for the ClusterPoolsClient.Get method.

type ClusterPoolsClientGetResponse

type ClusterPoolsClientGetResponse struct {
	// Cluster pool.
	ClusterPool
}

ClusterPoolsClientGetResponse contains the response from method ClusterPoolsClient.Get.

type ClusterPoolsClientListByResourceGroupOptions

type ClusterPoolsClientListByResourceGroupOptions struct {
}

ClusterPoolsClientListByResourceGroupOptions contains the optional parameters for the ClusterPoolsClient.NewListByResourceGroupPager method.

type ClusterPoolsClientListByResourceGroupResponse

type ClusterPoolsClientListByResourceGroupResponse struct {
	// The list cluster pools operation response.
	ClusterPoolListResult
}

ClusterPoolsClientListByResourceGroupResponse contains the response from method ClusterPoolsClient.NewListByResourceGroupPager.

type ClusterPoolsClientListBySubscriptionOptions

type ClusterPoolsClientListBySubscriptionOptions struct {
}

ClusterPoolsClientListBySubscriptionOptions contains the optional parameters for the ClusterPoolsClient.NewListBySubscriptionPager method.

type ClusterPoolsClientListBySubscriptionResponse

type ClusterPoolsClientListBySubscriptionResponse struct {
	// The list cluster pools operation response.
	ClusterPoolListResult
}

ClusterPoolsClientListBySubscriptionResponse contains the response from method ClusterPoolsClient.NewListBySubscriptionPager.

type ClusterPoolsClientUpdateTagsResponse

type ClusterPoolsClientUpdateTagsResponse struct {
	// Cluster pool.
	ClusterPool
}

ClusterPoolsClientUpdateTagsResponse contains the response from method ClusterPoolsClient.BeginUpdateTags.

type ClusterPoolsClientUpgradeResponse added in v0.3.0

type ClusterPoolsClientUpgradeResponse struct {
	// Cluster pool.
	ClusterPool
}

ClusterPoolsClientUpgradeResponse contains the response from method ClusterPoolsClient.BeginUpgrade.

type ClusterProfile

type ClusterProfile struct {
	// REQUIRED; Authorization profile with details of AAD user Ids and group Ids authorized for data plane access.
	AuthorizationProfile *AuthorizationProfile

	// REQUIRED; Version with 3/4 part.
	ClusterVersion *string

	// REQUIRED; Version with three part.
	OssVersion *string

	// This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale.
	AutoscaleProfile *AutoscaleProfile

	// Cluster access profile.
	ClusterAccessProfile *ClusterAccessProfile

	// The Flink cluster profile.
	FlinkProfile *FlinkProfile

	// This property is required by Trino, Spark and Flink cluster but is optional for Kafka cluster.
	IdentityProfile *IdentityProfile

	// The Kafka cluster profile.
	KafkaProfile *KafkaProfile

	// LLAP cluster profile.
	LlapProfile map[string]any

	// Cluster log analytics profile to enable or disable OMS agent for cluster.
	LogAnalyticsProfile *ClusterLogAnalyticsProfile

	// Cluster Prometheus profile.
	PrometheusProfile *ClusterPrometheusProfile

	// Cluster Ranger plugin profile.
	RangerPluginProfile *ClusterRangerPluginProfile

	// The ranger cluster profile.
	RangerProfile *RangerProfile

	// Ssh profile for the cluster.
	SSHProfile *SSHProfile

	// The script action profile list.
	ScriptActionProfiles []*ScriptActionProfile

	// The cluster secret profile.
	SecretsProfile *SecretsProfile

	// The service configs profiles.
	ServiceConfigsProfiles []*ClusterServiceConfigsProfile

	// The spark cluster profile.
	SparkProfile *SparkProfile

	// Stub cluster profile.
	StubProfile map[string]any

	// Trino Cluster profile.
	TrinoProfile *TrinoProfile

	// READ-ONLY; Component list of this cluster type and version.
	Components []*ClusterComponentsItem

	// READ-ONLY; Cluster connectivity profile.
	ConnectivityProfile *ConnectivityProfile
}

ClusterProfile - Cluster profile.

func (ClusterProfile) MarshalJSON

func (c ClusterProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterProfile.

func (*ClusterProfile) UnmarshalJSON

func (c *ClusterProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterProfile.

type ClusterPrometheusProfile

type ClusterPrometheusProfile struct {
	// REQUIRED; Enable Prometheus for cluster or not.
	Enabled *bool
}

ClusterPrometheusProfile - Cluster Prometheus profile.

func (ClusterPrometheusProfile) MarshalJSON

func (c ClusterPrometheusProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterPrometheusProfile.

func (*ClusterPrometheusProfile) UnmarshalJSON

func (c *ClusterPrometheusProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterPrometheusProfile.

type ClusterRangerPluginProfile added in v0.3.0

type ClusterRangerPluginProfile struct {
	// REQUIRED; Enable Ranger for cluster or not.
	Enabled *bool
}

ClusterRangerPluginProfile - Cluster Ranger plugin profile.

func (ClusterRangerPluginProfile) MarshalJSON added in v0.3.0

func (c ClusterRangerPluginProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterRangerPluginProfile.

func (*ClusterRangerPluginProfile) UnmarshalJSON added in v0.3.0

func (c *ClusterRangerPluginProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterRangerPluginProfile.

type ClusterResizeData

type ClusterResizeData struct {
	// REQUIRED; The geo-location where the resource lives
	Location *string

	// Sets the properties. Define cluster resize specific properties.
	Properties *ClusterResizeProperties

	// Resource tags.
	Tags map[string]*string

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterResizeData - The parameters for resizing a cluster.

func (ClusterResizeData) MarshalJSON

func (c ClusterResizeData) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterResizeData.

func (*ClusterResizeData) UnmarshalJSON

func (c *ClusterResizeData) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterResizeData.

type ClusterResizeProperties

type ClusterResizeProperties struct {
	// REQUIRED; Target node count of worker node.
	TargetWorkerNodeCount *int32
}

ClusterResizeProperties - The properties for resizing a cluster.

func (ClusterResizeProperties) MarshalJSON

func (c ClusterResizeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterResizeProperties.

func (*ClusterResizeProperties) UnmarshalJSON

func (c *ClusterResizeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterResizeProperties.

type ClusterResourceProperties

type ClusterResourceProperties struct {
	// REQUIRED; Cluster profile.
	ClusterProfile *ClusterProfile

	// REQUIRED; The type of cluster.
	ClusterType *string

	// REQUIRED; The compute profile.
	ComputeProfile *ComputeProfile

	// READ-ONLY; A unique id generated by the RP to identify the resource.
	DeploymentID *string

	// READ-ONLY; Provisioning state of the resource.
	ProvisioningState *ProvisioningStatus

	// READ-ONLY; Business status of the resource.
	Status *string
}

ClusterResourceProperties - Cluster resource properties.

func (ClusterResourceProperties) MarshalJSON

func (c ClusterResourceProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterResourceProperties.

func (*ClusterResourceProperties) UnmarshalJSON

func (c *ClusterResourceProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterResourceProperties.

type ClusterServiceConfig

type ClusterServiceConfig struct {
	// REQUIRED; Name of the component the config files should apply to.
	Component *string

	// REQUIRED; List of Config Files.
	Files []*ClusterConfigFile
}

ClusterServiceConfig - Cluster configs per component.

func (ClusterServiceConfig) MarshalJSON

func (c ClusterServiceConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterServiceConfig.

func (*ClusterServiceConfig) UnmarshalJSON

func (c *ClusterServiceConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterServiceConfig.

type ClusterServiceConfigsProfile

type ClusterServiceConfigsProfile struct {
	// REQUIRED; List of service configs.
	Configs []*ClusterServiceConfig

	// REQUIRED; Name of the service the configurations should apply to.
	ServiceName *string
}

ClusterServiceConfigsProfile - Cluster service configs.

func (ClusterServiceConfigsProfile) MarshalJSON

func (c ClusterServiceConfigsProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterServiceConfigsProfile.

func (*ClusterServiceConfigsProfile) UnmarshalJSON

func (c *ClusterServiceConfigsProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterServiceConfigsProfile.

type ClusterUpgrade added in v0.3.0

type ClusterUpgrade struct {
	// REQUIRED; Properties of upgrading cluster.
	Properties ClusterUpgradePropertiesClassification
}

ClusterUpgrade - Cluster Upgrade.

func (ClusterUpgrade) MarshalJSON added in v0.3.0

func (c ClusterUpgrade) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterUpgrade.

func (*ClusterUpgrade) UnmarshalJSON added in v0.3.0

func (c *ClusterUpgrade) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpgrade.

type ClusterUpgradeProperties added in v0.3.0

type ClusterUpgradeProperties struct {
	// REQUIRED; Type of upgrade.
	UpgradeType *ClusterUpgradeType
}

ClusterUpgradeProperties - Properties of upgrading cluster.

func (*ClusterUpgradeProperties) GetClusterUpgradeProperties added in v0.3.0

func (c *ClusterUpgradeProperties) GetClusterUpgradeProperties() *ClusterUpgradeProperties

GetClusterUpgradeProperties implements the ClusterUpgradePropertiesClassification interface for type ClusterUpgradeProperties.

func (ClusterUpgradeProperties) MarshalJSON added in v0.3.0

func (c ClusterUpgradeProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterUpgradeProperties.

func (*ClusterUpgradeProperties) UnmarshalJSON added in v0.3.0

func (c *ClusterUpgradeProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterUpgradeProperties.

type ClusterUpgradePropertiesClassification added in v0.3.0

type ClusterUpgradePropertiesClassification interface {
	// GetClusterUpgradeProperties returns the ClusterUpgradeProperties content of the underlying type.
	GetClusterUpgradeProperties() *ClusterUpgradeProperties
}

ClusterUpgradePropertiesClassification provides polymorphic access to related types. Call the interface's GetClusterUpgradeProperties() method to access the common type. Use a type switch to determine the concrete type. The possible types are: - *ClusterAKSPatchVersionUpgradeProperties, *ClusterHotfixUpgradeProperties, *ClusterUpgradeProperties

type ClusterUpgradeType added in v0.3.0

type ClusterUpgradeType string

ClusterUpgradeType - Type of upgrade.

const (
	ClusterUpgradeTypeAKSPatchUpgrade ClusterUpgradeType = "AKSPatchUpgrade"
	ClusterUpgradeTypeHotfixUpgrade   ClusterUpgradeType = "HotfixUpgrade"
)

func PossibleClusterUpgradeTypeValues added in v0.3.0

func PossibleClusterUpgradeTypeValues() []ClusterUpgradeType

PossibleClusterUpgradeTypeValues returns the possible values for the ClusterUpgradeType const type.

type ClusterVersion

type ClusterVersion struct {
	// Cluster version properties.
	Properties *ClusterVersionProperties

	// READ-ONLY; Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
	ID *string

	// READ-ONLY; The name of the resource
	Name *string

	// READ-ONLY; Azure Resource Manager metadata containing createdBy and modifiedBy information.
	SystemData *SystemData

	// READ-ONLY; The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
	Type *string
}

ClusterVersion - Available cluster version.

func (ClusterVersion) MarshalJSON

func (c ClusterVersion) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterVersion.

func (*ClusterVersion) UnmarshalJSON

func (c *ClusterVersion) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterVersion.

type ClusterVersionProperties

type ClusterVersionProperties struct {
	// The two part cluster pool version. If the cluster version is before cluster pool version on-board, the return value will
	// be empty string
	ClusterPoolVersion *string

	// The type of cluster.
	ClusterType *string

	// Version with three part.
	ClusterVersion *string

	// Indicate if this version is in preview or not.
	IsPreview *bool

	// Version with three part.
	OssVersion *string

	// READ-ONLY; Component list of this cluster type and version.
	Components []*ClusterComponentsItem
}

ClusterVersionProperties - Cluster version properties.

func (ClusterVersionProperties) MarshalJSON

func (c ClusterVersionProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterVersionProperties.

func (*ClusterVersionProperties) UnmarshalJSON

func (c *ClusterVersionProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterVersionProperties.

type ClusterVersionsListResult

type ClusterVersionsListResult struct {
	// The list of cluster versions.
	Value []*ClusterVersion

	// READ-ONLY; The link (url) to the next page of results.
	NextLink *string
}

ClusterVersionsListResult - Represents a list of cluster versions.

func (ClusterVersionsListResult) MarshalJSON

func (c ClusterVersionsListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ClusterVersionsListResult.

func (*ClusterVersionsListResult) UnmarshalJSON

func (c *ClusterVersionsListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ClusterVersionsListResult.

type ClustersClient

type ClustersClient struct {
	// contains filtered or unexported fields
}

ClustersClient contains the methods for the Clusters group. Don't use this type directly, use NewClustersClient() instead.

func NewClustersClient

func NewClustersClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*ClustersClient, error)

NewClustersClient creates a new instance of ClustersClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*ClustersClient) BeginCreate

func (client *ClustersClient) BeginCreate(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, hdInsightCluster Cluster, options *ClustersClientBeginCreateOptions) (*runtime.Poller[ClustersClientCreateResponse], error)

BeginCreate - Creates a cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • hdInsightCluster - The cluster to create.
  • options - ClustersClientBeginCreateOptions contains the optional parameters for the ClustersClient.BeginCreate method.
Example (HdInsightClusterPut)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateAutoscaleCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginCreate(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.Cluster{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterResourceProperties{
			ClusterProfile: &armhdinsightcontainers.ClusterProfile{
				AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
					UserIDs: []*string{
						to.Ptr("testuser1"),
						to.Ptr("testuser2")},
				},
				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
					AutoscaleType:               to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
					Enabled:                     to.Ptr(true),
					GracefulDecommissionTimeout: to.Ptr[int32](3600),
					LoadBasedConfig: &armhdinsightcontainers.LoadBasedConfig{
						CooldownPeriod: to.Ptr[int32](300),
						MaxNodes:       to.Ptr[int32](20),
						MinNodes:       to.Ptr[int32](10),
						PollInterval:   to.Ptr[int32](60),
						ScalingRules: []*armhdinsightcontainers.ScalingRule{
							{
								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaleup),
								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
									Operator:  to.Ptr(armhdinsightcontainers.ComparisonOperatorGreaterThan),
									Threshold: to.Ptr[float32](90),
								},
								EvaluationCount: to.Ptr[int32](3),
								ScalingMetric:   to.Ptr("cpu"),
							},
							{
								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaledown),
								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
									Operator:  to.Ptr(armhdinsightcontainers.ComparisonOperatorLessThan),
									Threshold: to.Ptr[float32](20),
								},
								EvaluationCount: to.Ptr[int32](3),
								ScalingMetric:   to.Ptr("cpu"),
							}},
					},
					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
						DefaultCount: to.Ptr[int32](10),
						Schedules: []*armhdinsightcontainers.Schedule{
							{
								Count: to.Ptr[int32](20),
								Days: []*armhdinsightcontainers.ScheduleDay{
									to.Ptr(armhdinsightcontainers.ScheduleDayMonday)},
								EndTime:   to.Ptr("12:00"),
								StartTime: to.Ptr("00:00"),
							},
							{
								Count: to.Ptr[int32](25),
								Days: []*armhdinsightcontainers.ScheduleDay{
									to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
								EndTime:   to.Ptr("12:00"),
								StartTime: to.Ptr("00:00"),
							}},
						TimeZone: to.Ptr("Cen. Australia Standard Time"),
					},
				},
				ClusterVersion: to.Ptr("1.0.6"),
				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
					MsiClientID:   to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
					MsiObjectID:   to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
				},
				OssVersion: to.Ptr("0.410.0"),
				SSHProfile: &armhdinsightcontainers.SSHProfile{
					Count: to.Ptr[int32](2),
				},
				TrinoProfile: &armhdinsightcontainers.TrinoProfile{},
			},
			ClusterType: to.Ptr("Trino"),
			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
				Nodes: []*armhdinsightcontainers.NodeProfile{
					{
						Type:   to.Ptr("Head"),
						Count:  to.Ptr[int32](2),
						VMSize: to.Ptr("Standard_E8as_v5"),
					},
					{
						Type:   to.Ptr("Worker"),
						Count:  to.Ptr[int32](3),
						VMSize: to.Ptr("Standard_E8as_v5"),
					}},
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
	// 					AutoscaleType: to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
	// 					Enabled: to.Ptr(true),
	// 					GracefulDecommissionTimeout: to.Ptr[int32](3600),
	// 					LoadBasedConfig: &armhdinsightcontainers.LoadBasedConfig{
	// 						CooldownPeriod: to.Ptr[int32](300),
	// 						MaxNodes: to.Ptr[int32](20),
	// 						MinNodes: to.Ptr[int32](10),
	// 						PollInterval: to.Ptr[int32](60),
	// 						ScalingRules: []*armhdinsightcontainers.ScalingRule{
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaleup),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorGreaterThan),
	// 									Threshold: to.Ptr[float32](90),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 							},
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaledown),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorLessThan),
	// 									Threshold: to.Ptr[float32](20),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 						}},
	// 					},
	// 					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
	// 						DefaultCount: to.Ptr[int32](10),
	// 						Schedules: []*armhdinsightcontainers.Schedule{
	// 							{
	// 								Count: to.Ptr[int32](20),
	// 								Days: []*armhdinsightcontainers.ScheduleDay{
	// 									to.Ptr(armhdinsightcontainers.ScheduleDayMonday)},
	// 									EndTime: to.Ptr("12:00"),
	// 									StartTime: to.Ptr("00:00"),
	// 								},
	// 								{
	// 									Count: to.Ptr[int32](25),
	// 									Days: []*armhdinsightcontainers.ScheduleDay{
	// 										to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
	// 										EndTime: to.Ptr("12:00"),
	// 										StartTime: to.Ptr("00:00"),
	// 								}},
	// 								TimeZone: to.Ptr("Cen. Australia Standard Time"),
	// 							},
	// 						},
	// 						ClusterVersion: to.Ptr("1.0.6"),
	// 						Components: []*armhdinsightcontainers.ClusterComponentsItem{
	// 							{
	// 								Name: to.Ptr("Trino"),
	// 								Version: to.Ptr("410"),
	// 							},
	// 							{
	// 								Name: to.Ptr("Hive metastore"),
	// 								Version: to.Ptr("3.1.2"),
	// 						}},
	// 						ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 							SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 								},
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 							}},
	// 							Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 								Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 							},
	// 						},
	// 						IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 							MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 							MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 							MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 						},
	// 						OssVersion: to.Ptr("0.410.0"),
	// 						SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 							Count: to.Ptr[int32](2),
	// 							PodPrefix: to.Ptr("sshnode"),
	// 						},
	// 						TrinoProfile: &armhdinsightcontainers.TrinoProfile{
	// 						},
	// 					},
	// 					ClusterType: to.Ptr("Trino"),
	// 					ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 						Nodes: []*armhdinsightcontainers.NodeProfile{
	// 							{
	// 								Type: to.Ptr("Head"),
	// 								Count: to.Ptr[int32](2),
	// 								VMSize: to.Ptr("Standard_E8as_v5"),
	// 							},
	// 							{
	// 								Type: to.Ptr("Worker"),
	// 								Count: to.Ptr[int32](3),
	// 								VMSize: to.Ptr("Standard_E8as_v5"),
	// 						}},
	// 					},
	// 					DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 					ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 				},
	// 			}
}
Output:

Example (HdInsightRangerClusterPut)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateRangerCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginCreate(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.Cluster{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterResourceProperties{
			ClusterProfile: &armhdinsightcontainers.ClusterProfile{
				AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
					UserIDs: []*string{
						to.Ptr("testuser1"),
						to.Ptr("testuser2")},
				},
				ClusterVersion: to.Ptr("0.0.1"),
				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
					MsiClientID:   to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
					MsiObjectID:   to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
				},
				OssVersion: to.Ptr("2.2.3"),
				RangerProfile: &armhdinsightcontainers.RangerProfile{
					RangerAdmin: &armhdinsightcontainers.RangerAdminSpec{
						Admins: []*string{
							to.Ptr("testuser1@contoso.com"),
							to.Ptr("testuser2@contoso.com")},
						Database: &armhdinsightcontainers.RangerAdminSpecDatabase{
							Name:              to.Ptr("testdb"),
							Host:              to.Ptr("testsqlserver.database.windows.net"),
							PasswordSecretRef: to.Ptr("https://testkv.vault.azure.net/secrets/mysecret/5df6584d9c25418c8d900240aa6c3452"),
							Username:          to.Ptr("admin"),
						},
					},
					RangerAudit: &armhdinsightcontainers.RangerAuditSpec{
						StorageAccount: to.Ptr("https://teststorage.blob.core.windows.net/testblob"),
					},
					RangerUsersync: &armhdinsightcontainers.RangerUsersyncSpec{
						Enabled: to.Ptr(true),
						Groups: []*string{
							to.Ptr("0a53828f-36c9-44c3-be3d-99a7fce977ad"),
							to.Ptr("13be6971-79db-4f33-9d41-b25589ca25ac")},
						Mode: to.Ptr(armhdinsightcontainers.RangerUsersyncModeAutomatic),
						Users: []*string{
							to.Ptr("testuser1@contoso.com"),
							to.Ptr("testuser2@contoso.com")},
					},
				},
			},
			ClusterType: to.Ptr("ranger"),
			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
				Nodes: []*armhdinsightcontainers.NodeProfile{
					{
						Type:   to.Ptr("head"),
						Count:  to.Ptr[int32](2),
						VMSize: to.Ptr("Standard_D3_v2"),
					}},
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				ClusterVersion: to.Ptr("0.0.1"),
	// 				Components: []*armhdinsightcontainers.ClusterComponentsItem{
	// 					{
	// 						Name: to.Ptr("HDFS"),
	// 						Version: to.Ptr("2.2.3"),
	// 				}},
	// 				ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 					Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 						Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 					},
	// 				},
	// 				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 					MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 					MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 				},
	// 				OssVersion: to.Ptr("2.2.3"),
	// 				RangerProfile: &armhdinsightcontainers.RangerProfile{
	// 					RangerAdmin: &armhdinsightcontainers.RangerAdminSpec{
	// 						Admins: []*string{
	// 							to.Ptr("testuser1@contoso.com"),
	// 							to.Ptr("testuser2@contoso.com")},
	// 							Database: &armhdinsightcontainers.RangerAdminSpecDatabase{
	// 								Name: to.Ptr("testdb"),
	// 								Host: to.Ptr("testsqlserver.database.windows.net"),
	// 								PasswordSecretRef: to.Ptr("https://testkv.vault.azure.net/secrets/mysecret/5df6584d9c25418c8d900240aa6c3452"),
	// 								Username: to.Ptr("admin"),
	// 							},
	// 						},
	// 						RangerAudit: &armhdinsightcontainers.RangerAuditSpec{
	// 							StorageAccount: to.Ptr("https://teststorage.blob.core.windows.net/testblob"),
	// 						},
	// 						RangerUsersync: &armhdinsightcontainers.RangerUsersyncSpec{
	// 							Enabled: to.Ptr(true),
	// 							Groups: []*string{
	// 								to.Ptr("0a53828f-36c9-44c3-be3d-99a7fce977ad"),
	// 								to.Ptr("13be6971-79db-4f33-9d41-b25589ca25ac")},
	// 								Mode: to.Ptr(armhdinsightcontainers.RangerUsersyncModeAutomatic),
	// 								Users: []*string{
	// 									to.Ptr("testuser1@contoso.com"),
	// 									to.Ptr("testuser2@contoso.com")},
	// 								},
	// 							},
	// 						},
	// 						ClusterType: to.Ptr("ranger"),
	// 						ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 							Nodes: []*armhdinsightcontainers.NodeProfile{
	// 								{
	// 									Type: to.Ptr("head"),
	// 									Count: to.Ptr[int32](2),
	// 									VMSize: to.Ptr("Standard_D3_v2"),
	// 							}},
	// 						},
	// 						DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 						ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 					},
	// 				}
}
Output:

Example (HdInsightSparkClusterPut)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateSparkCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginCreate(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.Cluster{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterResourceProperties{
			ClusterProfile: &armhdinsightcontainers.ClusterProfile{
				AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
					UserIDs: []*string{
						to.Ptr("testuser1"),
						to.Ptr("testuser2")},
				},
				ClusterVersion: to.Ptr("0.0.1"),
				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
					MsiClientID:   to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
					MsiObjectID:   to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
				},
				OssVersion: to.Ptr("2.2.3"),
				ServiceConfigsProfiles: []*armhdinsightcontainers.ClusterServiceConfigsProfile{
					{
						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
							{
								Component: to.Ptr("spark-config"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										FileName: to.Ptr("spark-defaults.conf"),
										Values: map[string]*string{
											"spark.eventLog.enabled": to.Ptr("true"),
										},
									}},
							}},
						ServiceName: to.Ptr("spark-service"),
					},
					{
						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
							{
								Component: to.Ptr("yarn-config"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										FileName: to.Ptr("core-site.xml"),
										Values: map[string]*string{
											"fs.defaultFS":      to.Ptr("wasb://testcontainer@teststorage.dfs.core.windows.net/"),
											"storage.container": to.Ptr("testcontainer"),
											"storage.key":       to.Ptr("test key"),
											"storage.name":      to.Ptr("teststorage"),
											"storage.protocol":  to.Ptr("wasb"),
										},
									},
									{
										FileName: to.Ptr("yarn-site.xml"),
										Values: map[string]*string{
											"yarn.webapp.ui2.enable": to.Ptr("false"),
										},
									}},
							}},
						ServiceName: to.Ptr("yarn-service"),
					}},
				SparkProfile: &armhdinsightcontainers.SparkProfile{},
				SSHProfile: &armhdinsightcontainers.SSHProfile{
					Count: to.Ptr[int32](2),
				},
			},
			ClusterType: to.Ptr("spark"),
			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
				Nodes: []*armhdinsightcontainers.NodeProfile{
					{
						Type:   to.Ptr("worker"),
						Count:  to.Ptr[int32](4),
						VMSize: to.Ptr("Standard_D3_v2"),
					}},
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				ClusterVersion: to.Ptr("0.0.1"),
	// 				Components: []*armhdinsightcontainers.ClusterComponentsItem{
	// 					{
	// 						Name: to.Ptr("HDFS"),
	// 						Version: to.Ptr("2.2.3"),
	// 				}},
	// 				ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 					SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 						{
	// 							Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 						},
	// 						{
	// 							Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 					}},
	// 					Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 						Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 					},
	// 				},
	// 				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 					MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 					MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 				},
	// 				OssVersion: to.Ptr("2.2.3"),
	// 				ServiceConfigsProfiles: []*armhdinsightcontainers.ClusterServiceConfigsProfile{
	// 					{
	// 						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
	// 							{
	// 								Component: to.Ptr("spark-config"),
	// 								Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 									{
	// 										FileName: to.Ptr("spark-defaults.conf"),
	// 										Values: map[string]*string{
	// 											"spark.eventLog.enabled": to.Ptr("true"),
	// 										},
	// 								}},
	// 						}},
	// 						ServiceName: to.Ptr("spark-service"),
	// 					},
	// 					{
	// 						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
	// 							{
	// 								Component: to.Ptr("yarn-config"),
	// 								Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 									{
	// 										FileName: to.Ptr("core-site.xml"),
	// 										Values: map[string]*string{
	// 											"fs.defaultFS": to.Ptr("wasb://testcontainer@teststorage.dfs.core.windows.net/"),
	// 											"storage.container": to.Ptr("testcontainer"),
	// 											"storage.key": to.Ptr("test key"),
	// 											"storage.name": to.Ptr("teststorage"),
	// 											"storage.protocol": to.Ptr("wasb"),
	// 										},
	// 									},
	// 									{
	// 										FileName: to.Ptr("yarn-site.xml"),
	// 										Values: map[string]*string{
	// 											"yarn.webapp.ui2.enable": to.Ptr("false"),
	// 										},
	// 								}},
	// 						}},
	// 						ServiceName: to.Ptr("yarn-service"),
	// 				}},
	// 				SparkProfile: &armhdinsightcontainers.SparkProfile{
	// 				},
	// 				SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 					Count: to.Ptr[int32](2),
	// 					PodPrefix: to.Ptr("sshnode"),
	// 				},
	// 			},
	// 			ClusterType: to.Ptr("spark"),
	// 			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 				Nodes: []*armhdinsightcontainers.NodeProfile{
	// 					{
	// 						Type: to.Ptr("worker"),
	// 						Count: to.Ptr[int32](4),
	// 						VMSize: to.Ptr("Standard_D3_v2"),
	// 				}},
	// 			},
	// 			DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 			ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 		},
	// 	}
}
Output:

Example (HdInsightSparkClusterPutWithInternalIngress)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/CreateSparkClusterWithInternalIngress.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginCreate(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.Cluster{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterResourceProperties{
			ClusterProfile: &armhdinsightcontainers.ClusterProfile{
				AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
					UserIDs: []*string{
						to.Ptr("testuser1"),
						to.Ptr("testuser2")},
				},
				ClusterAccessProfile: &armhdinsightcontainers.ClusterAccessProfile{
					EnableInternalIngress: to.Ptr(true),
				},
				ClusterVersion: to.Ptr("0.0.1"),
				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
					MsiClientID:   to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
					MsiObjectID:   to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
				},
				OssVersion: to.Ptr("2.2.3"),
				ServiceConfigsProfiles: []*armhdinsightcontainers.ClusterServiceConfigsProfile{
					{
						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
							{
								Component: to.Ptr("spark-config"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										FileName: to.Ptr("spark-defaults.conf"),
										Values: map[string]*string{
											"spark.eventLog.enabled": to.Ptr("true"),
										},
									}},
							}},
						ServiceName: to.Ptr("spark-service"),
					},
					{
						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
							{
								Component: to.Ptr("yarn-config"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										FileName: to.Ptr("core-site.xml"),
										Values: map[string]*string{
											"fs.defaultFS":      to.Ptr("wasb://testcontainer@teststorage.dfs.core.windows.net/"),
											"storage.container": to.Ptr("testcontainer"),
											"storage.key":       to.Ptr("test key"),
											"storage.name":      to.Ptr("teststorage"),
											"storage.protocol":  to.Ptr("wasb"),
										},
									},
									{
										FileName: to.Ptr("yarn-site.xml"),
										Values: map[string]*string{
											"yarn.webapp.ui2.enable": to.Ptr("false"),
										},
									}},
							}},
						ServiceName: to.Ptr("yarn-service"),
					}},
				SparkProfile: &armhdinsightcontainers.SparkProfile{},
				SSHProfile: &armhdinsightcontainers.SSHProfile{
					Count: to.Ptr[int32](2),
				},
			},
			ClusterType: to.Ptr("spark"),
			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
				Nodes: []*armhdinsightcontainers.NodeProfile{
					{
						Type:   to.Ptr("worker"),
						Count:  to.Ptr[int32](4),
						VMSize: to.Ptr("Standard_D3_v2"),
					}},
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				ClusterAccessProfile: &armhdinsightcontainers.ClusterAccessProfile{
	// 					EnableInternalIngress: to.Ptr(true),
	// 					PrivateLinkServiceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.Network/privateLinkServices/testpls"),
	// 				},
	// 				ClusterVersion: to.Ptr("0.0.1"),
	// 				Components: []*armhdinsightcontainers.ClusterComponentsItem{
	// 					{
	// 						Name: to.Ptr("HDFS"),
	// 						Version: to.Ptr("2.2.3"),
	// 				}},
	// 				ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 					SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 						{
	// 							Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 							PrivateSSHEndpoint: to.Ptr("cluster1-int.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 						},
	// 						{
	// 							Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 							PrivateSSHEndpoint: to.Ptr("cluster1-int.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 					}},
	// 					Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 						Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 						PrivateFqdn: to.Ptr("cluster1-int.clusterpool1.westus2.projecthilo.net"),
	// 					},
	// 				},
	// 				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 					MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 					MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 				},
	// 				OssVersion: to.Ptr("2.2.3"),
	// 				ServiceConfigsProfiles: []*armhdinsightcontainers.ClusterServiceConfigsProfile{
	// 					{
	// 						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
	// 							{
	// 								Component: to.Ptr("spark-config"),
	// 								Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 									{
	// 										FileName: to.Ptr("spark-defaults.conf"),
	// 										Values: map[string]*string{
	// 											"spark.eventLog.enabled": to.Ptr("true"),
	// 										},
	// 								}},
	// 						}},
	// 						ServiceName: to.Ptr("spark-service"),
	// 					},
	// 					{
	// 						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
	// 							{
	// 								Component: to.Ptr("yarn-config"),
	// 								Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 									{
	// 										FileName: to.Ptr("core-site.xml"),
	// 										Values: map[string]*string{
	// 											"fs.defaultFS": to.Ptr("wasb://testcontainer@teststorage.dfs.core.windows.net/"),
	// 											"storage.container": to.Ptr("testcontainer"),
	// 											"storage.key": to.Ptr("test key"),
	// 											"storage.name": to.Ptr("teststorage"),
	// 											"storage.protocol": to.Ptr("wasb"),
	// 										},
	// 									},
	// 									{
	// 										FileName: to.Ptr("yarn-site.xml"),
	// 										Values: map[string]*string{
	// 											"yarn.webapp.ui2.enable": to.Ptr("false"),
	// 										},
	// 								}},
	// 						}},
	// 						ServiceName: to.Ptr("yarn-service"),
	// 				}},
	// 				SparkProfile: &armhdinsightcontainers.SparkProfile{
	// 				},
	// 				SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 					Count: to.Ptr[int32](2),
	// 					PodPrefix: to.Ptr("sshnode"),
	// 				},
	// 			},
	// 			ClusterType: to.Ptr("spark"),
	// 			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 				Nodes: []*armhdinsightcontainers.NodeProfile{
	// 					{
	// 						Type: to.Ptr("worker"),
	// 						Count: to.Ptr[int32](4),
	// 						VMSize: to.Ptr("Standard_D3_v2"),
	// 				}},
	// 			},
	// 			DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 			ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 		},
	// 	}
}
Output:

func (*ClustersClient) BeginDelete

func (client *ClustersClient) BeginDelete(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, options *ClustersClientBeginDeleteOptions) (*runtime.Poller[ClustersClientDeleteResponse], error)

BeginDelete - Deletes a cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClustersClientBeginDeleteOptions contains the optional parameters for the ClustersClient.BeginDelete method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/DeleteCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginDelete(ctx, "rg1", "clusterpool1", "cluster1", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	_, err = poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
}
Output:

func (*ClustersClient) BeginResize

func (client *ClustersClient) BeginResize(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, clusterResizeRequest ClusterResizeData, options *ClustersClientBeginResizeOptions) (*runtime.Poller[ClustersClientResizeResponse], error)

BeginResize - Resize an existing Cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • clusterResizeRequest - Resize a cluster.
  • options - ClustersClientBeginResizeOptions contains the optional parameters for the ClustersClient.BeginResize method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ResizeCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginResize(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.ClusterResizeData{
		Location: to.Ptr("West US 2"),
		Properties: &armhdinsightcontainers.ClusterResizeProperties{
			TargetWorkerNodeCount: to.Ptr[int32](5),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
	// 					AutoscaleType: to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
	// 					Enabled: to.Ptr(true),
	// 					GracefulDecommissionTimeout: to.Ptr[int32](3600),
	// 					LoadBasedConfig: &armhdinsightcontainers.LoadBasedConfig{
	// 						CooldownPeriod: to.Ptr[int32](300),
	// 						MaxNodes: to.Ptr[int32](20),
	// 						MinNodes: to.Ptr[int32](10),
	// 						PollInterval: to.Ptr[int32](60),
	// 						ScalingRules: []*armhdinsightcontainers.ScalingRule{
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaleup),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorGreaterThan),
	// 									Threshold: to.Ptr[float32](90),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 							},
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaledown),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorLessThan),
	// 									Threshold: to.Ptr[float32](20),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 						}},
	// 					},
	// 					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
	// 						DefaultCount: to.Ptr[int32](10),
	// 						Schedules: []*armhdinsightcontainers.Schedule{
	// 							{
	// 								Count: to.Ptr[int32](20),
	// 								Days: []*armhdinsightcontainers.ScheduleDay{
	// 									to.Ptr(armhdinsightcontainers.ScheduleDayMonday)},
	// 									EndTime: to.Ptr("12:00"),
	// 									StartTime: to.Ptr("00:00"),
	// 								},
	// 								{
	// 									Count: to.Ptr[int32](25),
	// 									Days: []*armhdinsightcontainers.ScheduleDay{
	// 										to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
	// 										EndTime: to.Ptr("12:00"),
	// 										StartTime: to.Ptr("00:00"),
	// 								}},
	// 								TimeZone: to.Ptr("Cen. Australia Standard Time"),
	// 							},
	// 						},
	// 						ClusterVersion: to.Ptr("1.0.6"),
	// 						ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 							SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 								},
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 							}},
	// 							Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 								Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 							},
	// 						},
	// 						IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 							MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 							MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 							MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 						},
	// 						OssVersion: to.Ptr("0.410.0"),
	// 						SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 							Count: to.Ptr[int32](2),
	// 							PodPrefix: to.Ptr("sshnode"),
	// 						},
	// 						TrinoProfile: &armhdinsightcontainers.TrinoProfile{
	// 						},
	// 					},
	// 					ClusterType: to.Ptr("Trino"),
	// 					ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 						Nodes: []*armhdinsightcontainers.NodeProfile{
	// 							{
	// 								Type: to.Ptr("Head"),
	// 								Count: to.Ptr[int32](2),
	// 								VMSize: to.Ptr("Standard_E8as_v5"),
	// 							},
	// 							{
	// 								Type: to.Ptr("Worker"),
	// 								Count: to.Ptr[int32](5),
	// 								VMSize: to.Ptr("Standard_E8as_v5"),
	// 						}},
	// 					},
	// 					DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 					ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 				},
	// 			}
}
Output:

func (*ClustersClient) BeginUpdate

func (client *ClustersClient) BeginUpdate(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, clusterPatchRequest ClusterPatch, options *ClustersClientBeginUpdateOptions) (*runtime.Poller[ClustersClientUpdateResponse], error)

BeginUpdate - Updates an existing Cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • clusterPatchRequest - Patch a cluster.
  • options - ClustersClientBeginUpdateOptions contains the optional parameters for the ClustersClient.BeginUpdate method.
Example (HdInsightClustersPatchTags)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/PatchCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginUpdate(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.ClusterPatch{
		Properties: &armhdinsightcontainers.ClusterPatchProperties{
			ClusterProfile: &armhdinsightcontainers.UpdatableClusterProfile{
				AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
					UserIDs: []*string{
						to.Ptr("Testuser1"),
						to.Ptr("Testuser2")},
				},
				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
					AutoscaleType:               to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
					Enabled:                     to.Ptr(true),
					GracefulDecommissionTimeout: to.Ptr[int32](-1),
					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
						DefaultCount: to.Ptr[int32](3),
						Schedules: []*armhdinsightcontainers.Schedule{
							{
								Count: to.Ptr[int32](3),
								Days: []*armhdinsightcontainers.ScheduleDay{
									to.Ptr(armhdinsightcontainers.ScheduleDay("Monday, Tuesday, Wednesday"))},
								EndTime:   to.Ptr("12:00"),
								StartTime: to.Ptr("00:00"),
							},
							{
								Count: to.Ptr[int32](3),
								Days: []*armhdinsightcontainers.ScheduleDay{
									to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
								EndTime:   to.Ptr("12:00"),
								StartTime: to.Ptr("00:00"),
							}},
						TimeZone: to.Ptr("Cen. Australia Standard Time"),
					},
				},
				LogAnalyticsProfile: &armhdinsightcontainers.ClusterLogAnalyticsProfile{
					ApplicationLogs: &armhdinsightcontainers.ClusterLogAnalyticsApplicationLogs{
						StdErrorEnabled: to.Ptr(true),
						StdOutEnabled:   to.Ptr(true),
					},
					Enabled:        to.Ptr(true),
					MetricsEnabled: to.Ptr(true),
				},
				ServiceConfigsProfiles: []*armhdinsightcontainers.ClusterServiceConfigsProfile{
					{
						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
							{
								Component: to.Ptr("TestComp1"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										FileName: to.Ptr("TestFile1"),
										Values: map[string]*string{
											"Test.config.1": to.Ptr("1"),
											"Test.config.2": to.Ptr("2"),
										},
									},
									{
										FileName: to.Ptr("TestFile2"),
										Values: map[string]*string{
											"Test.config.3": to.Ptr("3"),
											"Test.config.4": to.Ptr("4"),
										},
									}},
							},
							{
								Component: to.Ptr("TestComp2"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										Path:     to.Ptr("TestPath"),
										Content:  to.Ptr("TestContent"),
										FileName: to.Ptr("TestFile3"),
									},
									{
										FileName: to.Ptr("TestFile4"),
										Values: map[string]*string{
											"Test.config.7": to.Ptr("7"),
											"Test.config.8": to.Ptr("8"),
										},
									}},
							}},
						ServiceName: to.Ptr("TestService1"),
					},
					{
						Configs: []*armhdinsightcontainers.ClusterServiceConfig{
							{
								Component: to.Ptr("TestComp3"),
								Files: []*armhdinsightcontainers.ClusterConfigFile{
									{
										FileName: to.Ptr("TestFile5"),
										Values: map[string]*string{
											"Test.config.9": to.Ptr("9"),
										},
									}},
							}},
						ServiceName: to.Ptr("TestService2"),
					}},
				SSHProfile: &armhdinsightcontainers.SSHProfile{
					Count: to.Ptr[int32](2),
				},
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Tags: map[string]*string{
	// 		"tag1": to.Ptr("value1"),
	// 		"tag2": to.Ptr("value2"),
	// 	},
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
	// 					AutoscaleType: to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
	// 					Enabled: to.Ptr(true),
	// 					GracefulDecommissionTimeout: to.Ptr[int32](-1),
	// 					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
	// 						DefaultCount: to.Ptr[int32](3),
	// 						Schedules: []*armhdinsightcontainers.Schedule{
	// 							{
	// 								Count: to.Ptr[int32](3),
	// 								Days: []*armhdinsightcontainers.ScheduleDay{
	// 									to.Ptr(armhdinsightcontainers.ScheduleDay("Monday, Tuesday, Wednesday"))},
	// 									EndTime: to.Ptr("12:00"),
	// 									StartTime: to.Ptr("00:00"),
	// 								},
	// 								{
	// 									Count: to.Ptr[int32](3),
	// 									Days: []*armhdinsightcontainers.ScheduleDay{
	// 										to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
	// 										EndTime: to.Ptr("12:00"),
	// 										StartTime: to.Ptr("00:00"),
	// 								}},
	// 								TimeZone: to.Ptr("Cen. Australia Standard Time"),
	// 							},
	// 						},
	// 						ClusterVersion: to.Ptr("1.0.6"),
	// 						ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 							SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 								},
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 							}},
	// 							Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 								Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 							},
	// 						},
	// 						IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 							MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 							MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 							MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 						},
	// 						LogAnalyticsProfile: &armhdinsightcontainers.ClusterLogAnalyticsProfile{
	// 							ApplicationLogs: &armhdinsightcontainers.ClusterLogAnalyticsApplicationLogs{
	// 								StdErrorEnabled: to.Ptr(true),
	// 								StdOutEnabled: to.Ptr(true),
	// 							},
	// 							Enabled: to.Ptr(true),
	// 							MetricsEnabled: to.Ptr(true),
	// 						},
	// 						OssVersion: to.Ptr("0.410.0"),
	// 						ServiceConfigsProfiles: []*armhdinsightcontainers.ClusterServiceConfigsProfile{
	// 							{
	// 								Configs: []*armhdinsightcontainers.ClusterServiceConfig{
	// 									{
	// 										Component: to.Ptr("TestComp1"),
	// 										Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 											{
	// 												FileName: to.Ptr("TestFile1"),
	// 												Values: map[string]*string{
	// 													"Test.config.1": to.Ptr("1"),
	// 													"Test.config.2": to.Ptr("2"),
	// 												},
	// 											},
	// 											{
	// 												FileName: to.Ptr("TestFile2"),
	// 												Values: map[string]*string{
	// 													"Test.config.3": to.Ptr("3"),
	// 													"Test.config.4": to.Ptr("4"),
	// 												},
	// 										}},
	// 									},
	// 									{
	// 										Component: to.Ptr("TestComp2"),
	// 										Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 											{
	// 												Path: to.Ptr("TestPath"),
	// 												Content: to.Ptr("TestContent"),
	// 												FileName: to.Ptr("TestFile3"),
	// 											},
	// 											{
	// 												FileName: to.Ptr("TestFile4"),
	// 												Values: map[string]*string{
	// 													"Test.config.7": to.Ptr("7"),
	// 													"Test.config.8": to.Ptr("8"),
	// 												},
	// 										}},
	// 								}},
	// 								ServiceName: to.Ptr("TestService1"),
	// 							},
	// 							{
	// 								Configs: []*armhdinsightcontainers.ClusterServiceConfig{
	// 									{
	// 										Component: to.Ptr("TestComp3"),
	// 										Files: []*armhdinsightcontainers.ClusterConfigFile{
	// 											{
	// 												FileName: to.Ptr("TestFile5"),
	// 												Values: map[string]*string{
	// 													"Test.config.9": to.Ptr("9"),
	// 												},
	// 										}},
	// 								}},
	// 								ServiceName: to.Ptr("TestService2"),
	// 						}},
	// 						SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 							Count: to.Ptr[int32](2),
	// 							PodPrefix: to.Ptr("sshnode"),
	// 						},
	// 						TrinoProfile: &armhdinsightcontainers.TrinoProfile{
	// 						},
	// 					},
	// 					ClusterType: to.Ptr("Trino"),
	// 					ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 						Nodes: []*armhdinsightcontainers.NodeProfile{
	// 							{
	// 								Type: to.Ptr("Head"),
	// 								Count: to.Ptr[int32](2),
	// 								VMSize: to.Ptr("Standard_E8as_v5"),
	// 							},
	// 							{
	// 								Type: to.Ptr("Worker"),
	// 								Count: to.Ptr[int32](3),
	// 								VMSize: to.Ptr("Standard_E8as_v5"),
	// 						}},
	// 					},
	// 					DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 					ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 				},
	// 			}
}
Output:

Example (HdInsightRangerClusterPatchTags)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/PatchRangerCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginUpdate(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.ClusterPatch{
		Properties: &armhdinsightcontainers.ClusterPatchProperties{
			ClusterProfile: &armhdinsightcontainers.UpdatableClusterProfile{
				RangerProfile: &armhdinsightcontainers.RangerProfile{
					RangerAdmin: &armhdinsightcontainers.RangerAdminSpec{
						Admins: []*string{
							to.Ptr("testuser1@contoso.com"),
							to.Ptr("testuser2@contoso.com")},
						Database: &armhdinsightcontainers.RangerAdminSpecDatabase{
							Name:              to.Ptr("testdb"),
							Host:              to.Ptr("testsqlserver.database.windows.net"),
							PasswordSecretRef: to.Ptr("https://testkv.vault.azure.net/secrets/mysecret/5df6584d9c25418c8d900240aa6c3452"),
							Username:          to.Ptr("admin"),
						},
					},
					RangerAudit: &armhdinsightcontainers.RangerAuditSpec{
						StorageAccount: to.Ptr("https://teststorage.blob.core.windows.net/testblob"),
					},
					RangerUsersync: &armhdinsightcontainers.RangerUsersyncSpec{
						Enabled: to.Ptr(true),
						Groups: []*string{
							to.Ptr("0a53828f-36c9-44c3-be3d-99a7fce977ad"),
							to.Ptr("13be6971-79db-4f33-9d41-b25589ca25ac")},
						Mode: to.Ptr(armhdinsightcontainers.RangerUsersyncModeAutomatic),
						Users: []*string{
							to.Ptr("testuser1@contoso.com"),
							to.Ptr("testuser2@contoso.com")},
					},
				},
			},
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Tags: map[string]*string{
	// 		"tag1": to.Ptr("value1"),
	// 		"tag2": to.Ptr("value2"),
	// 	},
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				ClusterVersion: to.Ptr("1.0.1"),
	// 				ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 					Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 						Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 					},
	// 				},
	// 				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 					MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 					MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 				},
	// 				LogAnalyticsProfile: &armhdinsightcontainers.ClusterLogAnalyticsProfile{
	// 					ApplicationLogs: &armhdinsightcontainers.ClusterLogAnalyticsApplicationLogs{
	// 						StdErrorEnabled: to.Ptr(true),
	// 						StdOutEnabled: to.Ptr(true),
	// 					},
	// 					Enabled: to.Ptr(true),
	// 					MetricsEnabled: to.Ptr(true),
	// 				},
	// 				OssVersion: to.Ptr("2.4.1"),
	// 				RangerProfile: &armhdinsightcontainers.RangerProfile{
	// 					RangerAdmin: &armhdinsightcontainers.RangerAdminSpec{
	// 						Admins: []*string{
	// 							to.Ptr("testuser1@contoso.com"),
	// 							to.Ptr("testuser2@contoso.com")},
	// 							Database: &armhdinsightcontainers.RangerAdminSpecDatabase{
	// 								Name: to.Ptr("testdb"),
	// 								Host: to.Ptr("testsqlserver.database.windows.net"),
	// 								PasswordSecretRef: to.Ptr("https://testkv.vault.azure.net/secrets/mysecret/5df6584d9c25418c8d900240aa6c3452"),
	// 								Username: to.Ptr("admin"),
	// 							},
	// 						},
	// 						RangerAudit: &armhdinsightcontainers.RangerAuditSpec{
	// 							StorageAccount: to.Ptr("https://teststorage.blob.core.windows.net/testblob"),
	// 						},
	// 						RangerUsersync: &armhdinsightcontainers.RangerUsersyncSpec{
	// 							Enabled: to.Ptr(true),
	// 							Groups: []*string{
	// 								to.Ptr("0a53828f-36c9-44c3-be3d-99a7fce977ad"),
	// 								to.Ptr("13be6971-79db-4f33-9d41-b25589ca25ac")},
	// 								Mode: to.Ptr(armhdinsightcontainers.RangerUsersyncModeAutomatic),
	// 								Users: []*string{
	// 									to.Ptr("testuser1@contoso.com"),
	// 									to.Ptr("testuser2@contoso.com")},
	// 								},
	// 							},
	// 						},
	// 						ClusterType: to.Ptr("ranger"),
	// 						ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 							Nodes: []*armhdinsightcontainers.NodeProfile{
	// 								{
	// 									Type: to.Ptr("head"),
	// 									Count: to.Ptr[int32](2),
	// 									VMSize: to.Ptr("Standard_D3_v2"),
	// 							}},
	// 						},
	// 						DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 						ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 					},
	// 				}
}
Output:

func (*ClustersClient) BeginUpgrade added in v0.3.0

func (client *ClustersClient) BeginUpgrade(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, clusterUpgradeRequest ClusterUpgrade, options *ClustersClientBeginUpgradeOptions) (*runtime.Poller[ClustersClientUpgradeResponse], error)

BeginUpgrade - Upgrade a cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • clusterUpgradeRequest - Upgrade a cluster.
  • options - ClustersClientBeginUpgradeOptions contains the optional parameters for the ClustersClient.BeginUpgrade method.
Example (ClustersUpgradeAksPatchVersion)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/UpgradeAKSPatchVersionForCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginUpgrade(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.ClusterUpgrade{
		Properties: &armhdinsightcontainers.ClusterAKSPatchVersionUpgradeProperties{
			UpgradeType: to.Ptr(armhdinsightcontainers.ClusterUpgradeTypeAKSPatchUpgrade),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
	// 					AutoscaleType: to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
	// 					Enabled: to.Ptr(true),
	// 					GracefulDecommissionTimeout: to.Ptr[int32](3600),
	// 					LoadBasedConfig: &armhdinsightcontainers.LoadBasedConfig{
	// 						CooldownPeriod: to.Ptr[int32](300),
	// 						MaxNodes: to.Ptr[int32](20),
	// 						MinNodes: to.Ptr[int32](10),
	// 						PollInterval: to.Ptr[int32](60),
	// 						ScalingRules: []*armhdinsightcontainers.ScalingRule{
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaleup),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorGreaterThan),
	// 									Threshold: to.Ptr[float32](90),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 							},
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaledown),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorLessThan),
	// 									Threshold: to.Ptr[float32](20),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 						}},
	// 					},
	// 					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
	// 						DefaultCount: to.Ptr[int32](10),
	// 						Schedules: []*armhdinsightcontainers.Schedule{
	// 							{
	// 								Count: to.Ptr[int32](20),
	// 								Days: []*armhdinsightcontainers.ScheduleDay{
	// 									to.Ptr(armhdinsightcontainers.ScheduleDayMonday)},
	// 									EndTime: to.Ptr("12:00"),
	// 									StartTime: to.Ptr("00:00"),
	// 								},
	// 								{
	// 									Count: to.Ptr[int32](25),
	// 									Days: []*armhdinsightcontainers.ScheduleDay{
	// 										to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
	// 										EndTime: to.Ptr("12:00"),
	// 										StartTime: to.Ptr("00:00"),
	// 								}},
	// 								TimeZone: to.Ptr("Cen. Australia Standard Time"),
	// 							},
	// 						},
	// 						ClusterVersion: to.Ptr("1.0.1"),
	// 						ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 							SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 								},
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 							}},
	// 							Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 								Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 							},
	// 						},
	// 						IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 							MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 							MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 							MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 						},
	// 						OssVersion: to.Ptr("2.4.1"),
	// 						SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 							Count: to.Ptr[int32](2),
	// 							PodPrefix: to.Ptr("sshnode"),
	// 						},
	// 						TrinoProfile: &armhdinsightcontainers.TrinoProfile{
	// 						},
	// 					},
	// 					ClusterType: to.Ptr("trino"),
	// 					ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 						Nodes: []*armhdinsightcontainers.NodeProfile{
	// 							{
	// 								Type: to.Ptr("worker"),
	// 								Count: to.Ptr[int32](3),
	// 								VMSize: to.Ptr("Standard_D3_v2"),
	// 						}},
	// 					},
	// 					DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 					ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 				},
	// 			}
}
Output:

Example (ClustersUpgradeHotfix)

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/UpgradeHotfixForCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	poller, err := clientFactory.NewClustersClient().BeginUpgrade(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", armhdinsightcontainers.ClusterUpgrade{
		Properties: &armhdinsightcontainers.ClusterHotfixUpgradeProperties{
			UpgradeType:          to.Ptr(armhdinsightcontainers.ClusterUpgradeTypeHotfixUpgrade),
			ComponentName:        to.Ptr("historyserver"),
			TargetBuildNumber:    to.Ptr("3"),
			TargetClusterVersion: to.Ptr("1.0.6"),
			TargetOssVersion:     to.Ptr("1.16.0"),
		},
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	res, err := poller.PollUntilDone(ctx, nil)
	if err != nil {
		log.Fatalf("failed to pull the result: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				AutoscaleProfile: &armhdinsightcontainers.AutoscaleProfile{
	// 					AutoscaleType: to.Ptr(armhdinsightcontainers.AutoscaleTypeScheduleBased),
	// 					Enabled: to.Ptr(true),
	// 					GracefulDecommissionTimeout: to.Ptr[int32](3600),
	// 					LoadBasedConfig: &armhdinsightcontainers.LoadBasedConfig{
	// 						CooldownPeriod: to.Ptr[int32](300),
	// 						MaxNodes: to.Ptr[int32](20),
	// 						MinNodes: to.Ptr[int32](10),
	// 						PollInterval: to.Ptr[int32](60),
	// 						ScalingRules: []*armhdinsightcontainers.ScalingRule{
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaleup),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorGreaterThan),
	// 									Threshold: to.Ptr[float32](90),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 							},
	// 							{
	// 								ActionType: to.Ptr(armhdinsightcontainers.ScaleActionTypeScaledown),
	// 								ComparisonRule: &armhdinsightcontainers.ComparisonRule{
	// 									Operator: to.Ptr(armhdinsightcontainers.ComparisonOperatorLessThan),
	// 									Threshold: to.Ptr[float32](20),
	// 								},
	// 								EvaluationCount: to.Ptr[int32](3),
	// 								ScalingMetric: to.Ptr("cpu"),
	// 						}},
	// 					},
	// 					ScheduleBasedConfig: &armhdinsightcontainers.ScheduleBasedConfig{
	// 						DefaultCount: to.Ptr[int32](10),
	// 						Schedules: []*armhdinsightcontainers.Schedule{
	// 							{
	// 								Count: to.Ptr[int32](20),
	// 								Days: []*armhdinsightcontainers.ScheduleDay{
	// 									to.Ptr(armhdinsightcontainers.ScheduleDayMonday)},
	// 									EndTime: to.Ptr("12:00"),
	// 									StartTime: to.Ptr("00:00"),
	// 								},
	// 								{
	// 									Count: to.Ptr[int32](25),
	// 									Days: []*armhdinsightcontainers.ScheduleDay{
	// 										to.Ptr(armhdinsightcontainers.ScheduleDaySunday)},
	// 										EndTime: to.Ptr("12:00"),
	// 										StartTime: to.Ptr("00:00"),
	// 								}},
	// 								TimeZone: to.Ptr("Cen. Australia Standard Time"),
	// 							},
	// 						},
	// 						ClusterVersion: to.Ptr("1.0.1"),
	// 						ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 							SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 								},
	// 								{
	// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 							}},
	// 							Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 								Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 							},
	// 						},
	// 						IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 							MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 							MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 							MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 						},
	// 						OssVersion: to.Ptr("2.4.1"),
	// 						SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 							Count: to.Ptr[int32](2),
	// 							PodPrefix: to.Ptr("sshnode"),
	// 						},
	// 						TrinoProfile: &armhdinsightcontainers.TrinoProfile{
	// 						},
	// 					},
	// 					ClusterType: to.Ptr("trino"),
	// 					ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 						Nodes: []*armhdinsightcontainers.NodeProfile{
	// 							{
	// 								Type: to.Ptr("worker"),
	// 								Count: to.Ptr[int32](3),
	// 								VMSize: to.Ptr("Standard_D3_v2"),
	// 						}},
	// 					},
	// 					DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 					ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 				},
	// 			}
}
Output:

func (*ClustersClient) Get

func (client *ClustersClient) Get(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, options *ClustersClientGetOptions) (ClustersClientGetResponse, error)

Get - Gets a HDInsight cluster. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClustersClientGetOptions contains the optional parameters for the ClustersClient.Get method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/GetCluster.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewClustersClient().Get(ctx, "hiloResourcegroup", "clusterpool1", "cluster1", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.Cluster = armhdinsightcontainers.Cluster{
	// 	Name: to.Ptr("cluster1"),
	// 	Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	// 	ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
	// 	SystemData: &armhdinsightcontainers.SystemData{
	// 		CreatedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-03T01:01:01.107Z"); return t}()),
	// 		CreatedBy: to.Ptr("string"),
	// 		CreatedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 		LastModifiedAt: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2020-02-04T02:03:01.197Z"); return t}()),
	// 		LastModifiedBy: to.Ptr("string"),
	// 		LastModifiedByType: to.Ptr(armhdinsightcontainers.CreatedByTypeUser),
	// 	},
	// 	Location: to.Ptr("West US 2"),
	// 	Properties: &armhdinsightcontainers.ClusterResourceProperties{
	// 		ClusterProfile: &armhdinsightcontainers.ClusterProfile{
	// 			AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
	// 				UserIDs: []*string{
	// 					to.Ptr("testuser1"),
	// 					to.Ptr("testuser2")},
	// 				},
	// 				ClusterVersion: to.Ptr("1.0.6"),
	// 				Components: []*armhdinsightcontainers.ClusterComponentsItem{
	// 					{
	// 						Name: to.Ptr("Trino"),
	// 						Version: to.Ptr("410"),
	// 					},
	// 					{
	// 						Name: to.Ptr("Hive metastore"),
	// 						Version: to.Ptr("3.1.2"),
	// 				}},
	// 				ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
	// 					SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
	// 						{
	// 							Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
	// 						},
	// 						{
	// 							Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
	// 					}},
	// 					Web: &armhdinsightcontainers.ConnectivityProfileWeb{
	// 						Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
	// 					},
	// 				},
	// 				IdentityProfile: &armhdinsightcontainers.IdentityProfile{
	// 					MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
	// 					MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
	// 					MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
	// 				},
	// 				OssVersion: to.Ptr("0.410.0"),
	// 				SSHProfile: &armhdinsightcontainers.SSHProfile{
	// 					Count: to.Ptr[int32](2),
	// 					PodPrefix: to.Ptr("sshnode"),
	// 				},
	// 				TrinoProfile: &armhdinsightcontainers.TrinoProfile{
	// 				},
	// 			},
	// 			ClusterType: to.Ptr("Trino"),
	// 			ComputeProfile: &armhdinsightcontainers.ComputeProfile{
	// 				Nodes: []*armhdinsightcontainers.NodeProfile{
	// 					{
	// 						Type: to.Ptr("Head"),
	// 						Count: to.Ptr[int32](2),
	// 						VMSize: to.Ptr("Standard_E8as_v5"),
	// 					},
	// 					{
	// 						Type: to.Ptr("Worker"),
	// 						Count: to.Ptr[int32](3),
	// 						VMSize: to.Ptr("Standard_E8as_v5"),
	// 				}},
	// 			},
	// 			DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
	// 			ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
	// 		},
	// 	}
}
Output:

func (*ClustersClient) GetInstanceView

func (client *ClustersClient) GetInstanceView(ctx context.Context, resourceGroupName string, clusterPoolName string, clusterName string, options *ClustersClientGetInstanceViewOptions) (ClustersClientGetInstanceViewResponse, error)

GetInstanceView - Gets the status of a cluster instance. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClustersClientGetInstanceViewOptions contains the optional parameters for the ClustersClient.GetInstanceView method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/GetClusterInstanceView.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewClustersClient().GetInstanceView(ctx, "rg1", "clusterPool1", "cluster1", nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.ClusterInstanceViewResult = armhdinsightcontainers.ClusterInstanceViewResult{
	// 	Name: to.Ptr("default"),
	// 	Properties: &armhdinsightcontainers.ClusterInstanceViewResultProperties{
	// 		ServiceStatuses: []*armhdinsightcontainers.ServiceStatus{
	// 			{
	// 				Kind: to.Ptr("ZooKeeper"),
	// 				Message: to.Ptr(""),
	// 				Ready: to.Ptr("true"),
	// 		}},
	// 		Status: &armhdinsightcontainers.ClusterInstanceViewPropertiesStatus{
	// 			Message: to.Ptr(""),
	// 			Ready: to.Ptr("True"),
	// 			Reason: to.Ptr(""),
	// 		},
	// 	},
	// }
}
Output:

func (*ClustersClient) NewListByClusterPoolNamePager

func (client *ClustersClient) NewListByClusterPoolNamePager(resourceGroupName string, clusterPoolName string, options *ClustersClientListByClusterPoolNameOptions) *runtime.Pager[ClustersClientListByClusterPoolNameResponse]

NewListByClusterPoolNamePager - Lists the HDInsight cluster pools under a resource group.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • options - ClustersClientListByClusterPoolNameOptions contains the optional parameters for the ClustersClient.NewListByClusterPoolNamePager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClustersByClusterPoolName.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClustersClient().NewListByClusterPoolNamePager("hiloResourcegroup", "clusterpool1", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterListResult = armhdinsightcontainers.ClusterListResult{
		// 	Value: []*armhdinsightcontainers.Cluster{
		// 		{
		// 			Name: to.Ptr("cluster1"),
		// 			Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
		// 			ID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.HDInsight/clusterPools/clusterpool1/clusters/cluster1"),
		// 			Location: to.Ptr("West US 2"),
		// 			Tags: map[string]*string{
		// 				"company": to.Ptr("Contoso"),
		// 				"department": to.Ptr("MightyMight"),
		// 			},
		// 			Properties: &armhdinsightcontainers.ClusterResourceProperties{
		// 				ClusterProfile: &armhdinsightcontainers.ClusterProfile{
		// 					AuthorizationProfile: &armhdinsightcontainers.AuthorizationProfile{
		// 						UserIDs: []*string{
		// 							to.Ptr("testuser1"),
		// 							to.Ptr("testuser2")},
		// 						},
		// 						ClusterVersion: to.Ptr("1.0.6"),
		// 						Components: []*armhdinsightcontainers.ClusterComponentsItem{
		// 							{
		// 								Name: to.Ptr("Trino"),
		// 								Version: to.Ptr("410"),
		// 							},
		// 							{
		// 								Name: to.Ptr("Hive metastore"),
		// 								Version: to.Ptr("3.1.2"),
		// 						}},
		// 						ConnectivityProfile: &armhdinsightcontainers.ConnectivityProfile{
		// 							SSH: []*armhdinsightcontainers.SSHConnectivityEndpoint{
		// 								{
		// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-0"),
		// 								},
		// 								{
		// 									Endpoint: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net/ssh/host/sshnode-1"),
		// 							}},
		// 							Web: &armhdinsightcontainers.ConnectivityProfileWeb{
		// 								Fqdn: to.Ptr("cluster1.clusterpool1.westus2.projecthilo.net"),
		// 							},
		// 						},
		// 						IdentityProfile: &armhdinsightcontainers.IdentityProfile{
		// 							MsiClientID: to.Ptr("de91f1d8-767f-460a-ac11-3cf103f74b34"),
		// 							MsiObjectID: to.Ptr("40491351-c240-4042-91e0-f644a1d2b441"),
		// 							MsiResourceID: to.Ptr("/subscriptions/subid/resourceGroups/hiloResourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-msi"),
		// 						},
		// 						OssVersion: to.Ptr("0.410.0"),
		// 						SSHProfile: &armhdinsightcontainers.SSHProfile{
		// 							Count: to.Ptr[int32](2),
		// 							PodPrefix: to.Ptr("sshnode"),
		// 						},
		// 						TrinoProfile: &armhdinsightcontainers.TrinoProfile{
		// 						},
		// 					},
		// 					ClusterType: to.Ptr("Trino"),
		// 					ComputeProfile: &armhdinsightcontainers.ComputeProfile{
		// 						Nodes: []*armhdinsightcontainers.NodeProfile{
		// 							{
		// 								Type: to.Ptr("Head"),
		// 								Count: to.Ptr[int32](2),
		// 								VMSize: to.Ptr("Standard_E8as_v5"),
		// 							},
		// 							{
		// 								Type: to.Ptr("Worker"),
		// 								Count: to.Ptr[int32](3),
		// 								VMSize: to.Ptr("Standard_E8as_v5"),
		// 						}},
		// 					},
		// 					DeploymentID: to.Ptr("45cd32aead6e4a91b079a0cdbfac8c36"),
		// 					ProvisioningState: to.Ptr(armhdinsightcontainers.ProvisioningStatusSucceeded),
		// 				},
		// 		}},
		// 	}
	}
}
Output:

func (*ClustersClient) NewListInstanceViewsPager

func (client *ClustersClient) NewListInstanceViewsPager(resourceGroupName string, clusterPoolName string, clusterName string, options *ClustersClientListInstanceViewsOptions) *runtime.Pager[ClustersClientListInstanceViewsResponse]

NewListInstanceViewsPager - Lists the lists of instance views

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClustersClientListInstanceViewsOptions contains the optional parameters for the ClustersClient.NewListInstanceViewsPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterInstanceViews.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClustersClient().NewListInstanceViewsPager("rg1", "clusterPool1", "cluster1", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ClusterInstanceViewsResult = armhdinsightcontainers.ClusterInstanceViewsResult{
		// 	Value: []*armhdinsightcontainers.ClusterInstanceViewResult{
		// 		{
		// 			Name: to.Ptr("default"),
		// 			Properties: &armhdinsightcontainers.ClusterInstanceViewResultProperties{
		// 				ServiceStatuses: []*armhdinsightcontainers.ServiceStatus{
		// 					{
		// 						Kind: to.Ptr("ZooKeeper"),
		// 						Message: to.Ptr(""),
		// 						Ready: to.Ptr("true"),
		// 				}},
		// 				Status: &armhdinsightcontainers.ClusterInstanceViewPropertiesStatus{
		// 					Message: to.Ptr(""),
		// 					Ready: to.Ptr("True"),
		// 					Reason: to.Ptr(""),
		// 				},
		// 			},
		// 	}},
		// }
	}
}
Output:

func (*ClustersClient) NewListServiceConfigsPager

func (client *ClustersClient) NewListServiceConfigsPager(resourceGroupName string, clusterPoolName string, clusterName string, options *ClustersClientListServiceConfigsOptions) *runtime.Pager[ClustersClientListServiceConfigsResponse]

NewListServiceConfigsPager - Lists the config dump of all services running in cluster.

Generated from API version 2023-11-01-preview

  • resourceGroupName - The name of the resource group. The name is case insensitive.
  • clusterPoolName - The name of the cluster pool.
  • clusterName - The name of the HDInsight cluster.
  • options - ClustersClientListServiceConfigsOptions contains the optional parameters for the ClustersClient.NewListServiceConfigsPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/ListClusterServiceConfigs.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewClustersClient().NewListServiceConfigsPager("rg1", "clusterPool1", "cluster1", nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.ServiceConfigListResult = armhdinsightcontainers.ServiceConfigListResult{
		// 	Value: []*armhdinsightcontainers.ServiceConfigResult{
		// 		{
		// 			Properties: &armhdinsightcontainers.ServiceConfigResultProperties{
		// 				ComponentName: to.Ptr("hadoop-component"),
		// 				Content: to.Ptr(""),
		// 				FileName: to.Ptr("capacity-scheduler.xml"),
		// 				ServiceName: to.Ptr("hadoop-service"),
		// 			},
		// 	}},
		// }
	}
}
Output:

type ClustersClientBeginCreateOptions

type ClustersClientBeginCreateOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClustersClientBeginCreateOptions contains the optional parameters for the ClustersClient.BeginCreate method.

type ClustersClientBeginDeleteOptions

type ClustersClientBeginDeleteOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClustersClientBeginDeleteOptions contains the optional parameters for the ClustersClient.BeginDelete method.

type ClustersClientBeginResizeOptions

type ClustersClientBeginResizeOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClustersClientBeginResizeOptions contains the optional parameters for the ClustersClient.BeginResize method.

type ClustersClientBeginUpdateOptions

type ClustersClientBeginUpdateOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClustersClientBeginUpdateOptions contains the optional parameters for the ClustersClient.BeginUpdate method.

type ClustersClientBeginUpgradeOptions added in v0.3.0

type ClustersClientBeginUpgradeOptions struct {
	// Resumes the LRO from the provided token.
	ResumeToken string
}

ClustersClientBeginUpgradeOptions contains the optional parameters for the ClustersClient.BeginUpgrade method.

type ClustersClientCreateResponse

type ClustersClientCreateResponse struct {
	// The cluster.
	Cluster
}

ClustersClientCreateResponse contains the response from method ClustersClient.BeginCreate.

type ClustersClientDeleteResponse

type ClustersClientDeleteResponse struct {
}

ClustersClientDeleteResponse contains the response from method ClustersClient.BeginDelete.

type ClustersClientGetInstanceViewOptions

type ClustersClientGetInstanceViewOptions struct {
}

ClustersClientGetInstanceViewOptions contains the optional parameters for the ClustersClient.GetInstanceView method.

type ClustersClientGetInstanceViewResponse

type ClustersClientGetInstanceViewResponse struct {
	// Cluster Instance View.
	ClusterInstanceViewResult
}

ClustersClientGetInstanceViewResponse contains the response from method ClustersClient.GetInstanceView.

type ClustersClientGetOptions

type ClustersClientGetOptions struct {
}

ClustersClientGetOptions contains the optional parameters for the ClustersClient.Get method.

type ClustersClientGetResponse

type ClustersClientGetResponse struct {
	// The cluster.
	Cluster
}

ClustersClientGetResponse contains the response from method ClustersClient.Get.

type ClustersClientListByClusterPoolNameOptions

type ClustersClientListByClusterPoolNameOptions struct {
}

ClustersClientListByClusterPoolNameOptions contains the optional parameters for the ClustersClient.NewListByClusterPoolNamePager method.

type ClustersClientListByClusterPoolNameResponse

type ClustersClientListByClusterPoolNameResponse struct {
	// The list cluster operation response.
	ClusterListResult
}

ClustersClientListByClusterPoolNameResponse contains the response from method ClustersClient.NewListByClusterPoolNamePager.

type ClustersClientListInstanceViewsOptions

type ClustersClientListInstanceViewsOptions struct {
}

ClustersClientListInstanceViewsOptions contains the optional parameters for the ClustersClient.NewListInstanceViewsPager method.

type ClustersClientListInstanceViewsResponse

type ClustersClientListInstanceViewsResponse struct {
	// The instance view of a HDInsight Cluster.
	ClusterInstanceViewsResult
}

ClustersClientListInstanceViewsResponse contains the response from method ClustersClient.NewListInstanceViewsPager.

type ClustersClientListServiceConfigsOptions

type ClustersClientListServiceConfigsOptions struct {
}

ClustersClientListServiceConfigsOptions contains the optional parameters for the ClustersClient.NewListServiceConfigsPager method.

type ClustersClientListServiceConfigsResponse

type ClustersClientListServiceConfigsResponse struct {
	// Cluster instance service configs api response.
	ServiceConfigListResult
}

ClustersClientListServiceConfigsResponse contains the response from method ClustersClient.NewListServiceConfigsPager.

type ClustersClientResizeResponse

type ClustersClientResizeResponse struct {
	// The cluster.
	Cluster
}

ClustersClientResizeResponse contains the response from method ClustersClient.BeginResize.

type ClustersClientUpdateResponse

type ClustersClientUpdateResponse struct {
	// The cluster.
	Cluster
}

ClustersClientUpdateResponse contains the response from method ClustersClient.BeginUpdate.

type ClustersClientUpgradeResponse added in v0.3.0

type ClustersClientUpgradeResponse struct {
	// The cluster.
	Cluster
}

ClustersClientUpgradeResponse contains the response from method ClustersClient.BeginUpgrade.

type ComparisonOperator

type ComparisonOperator string

ComparisonOperator - The comparison operator.

const (
	ComparisonOperatorGreaterThan        ComparisonOperator = "greaterThan"
	ComparisonOperatorGreaterThanOrEqual ComparisonOperator = "greaterThanOrEqual"
	ComparisonOperatorLessThan           ComparisonOperator = "lessThan"
	ComparisonOperatorLessThanOrEqual    ComparisonOperator = "lessThanOrEqual"
)

func PossibleComparisonOperatorValues

func PossibleComparisonOperatorValues() []ComparisonOperator

PossibleComparisonOperatorValues returns the possible values for the ComparisonOperator const type.

type ComparisonRule

type ComparisonRule struct {
	// REQUIRED; The comparison operator.
	Operator *ComparisonOperator

	// REQUIRED; Threshold setting.
	Threshold *float32
}

ComparisonRule - The comparison rule.

func (ComparisonRule) MarshalJSON

func (c ComparisonRule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ComparisonRule.

func (*ComparisonRule) UnmarshalJSON

func (c *ComparisonRule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ComparisonRule.

type ComputeProfile

type ComputeProfile struct {
	// REQUIRED; The nodes definitions.
	Nodes []*NodeProfile
}

ComputeProfile - The compute profile.

func (ComputeProfile) MarshalJSON

func (c ComputeProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ComputeProfile.

func (*ComputeProfile) UnmarshalJSON

func (c *ComputeProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ComputeProfile.

type ComputeResourceDefinition

type ComputeResourceDefinition struct {
	// REQUIRED; The required CPU.
	CPU *float32

	// REQUIRED; The required memory in MB, Container memory will be 110 percentile
	Memory *int64
}

ComputeResourceDefinition - The cpu and memory requirement definition.

func (ComputeResourceDefinition) MarshalJSON

func (c ComputeResourceDefinition) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ComputeResourceDefinition.

func (*ComputeResourceDefinition) UnmarshalJSON

func (c *ComputeResourceDefinition) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ComputeResourceDefinition.

type ConnectivityProfile

type ConnectivityProfile struct {
	// REQUIRED; Web connectivity endpoint details.
	Web *ConnectivityProfileWeb

	// List of SSH connectivity endpoints.
	SSH []*SSHConnectivityEndpoint
}

ConnectivityProfile - Cluster connectivity profile.

func (ConnectivityProfile) MarshalJSON

func (c ConnectivityProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ConnectivityProfile.

func (*ConnectivityProfile) UnmarshalJSON

func (c *ConnectivityProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityProfile.

type ConnectivityProfileWeb

type ConnectivityProfileWeb struct {
	// REQUIRED; Web connectivity endpoint.
	Fqdn *string

	// Private web connectivity endpoint. This property will only be returned when enableInternalIngress is true.
	PrivateFqdn *string
}

ConnectivityProfileWeb - Web connectivity endpoint details.

func (ConnectivityProfileWeb) MarshalJSON

func (c ConnectivityProfileWeb) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ConnectivityProfileWeb.

func (*ConnectivityProfileWeb) UnmarshalJSON

func (c *ConnectivityProfileWeb) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ConnectivityProfileWeb.

type ContentEncoding

type ContentEncoding string

ContentEncoding - This property indicates if the content is encoded and is case-insensitive. Please set the value to base64 if the content is base64 encoded. Set it to none or skip it if the content is plain text.

const (
	ContentEncodingBase64 ContentEncoding = "Base64"
	ContentEncodingNone   ContentEncoding = "None"
)

func PossibleContentEncodingValues

func PossibleContentEncodingValues() []ContentEncoding

PossibleContentEncodingValues returns the possible values for the ContentEncoding const type.

type CreatedByType

type CreatedByType string

CreatedByType - The type of identity that created the resource.

const (
	CreatedByTypeApplication     CreatedByType = "Application"
	CreatedByTypeKey             CreatedByType = "Key"
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	CreatedByTypeUser            CreatedByType = "User"
)

func PossibleCreatedByTypeValues

func PossibleCreatedByTypeValues() []CreatedByType

PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.

type CurrentClusterAksVersionStatus added in v0.3.0

type CurrentClusterAksVersionStatus string

CurrentClusterAksVersionStatus - Current AKS version's status: whether it is deprecated or supported

const (
	CurrentClusterAksVersionStatusDeprecated CurrentClusterAksVersionStatus = "Deprecated"
	CurrentClusterAksVersionStatusSupported  CurrentClusterAksVersionStatus = "Supported"
)

func PossibleCurrentClusterAksVersionStatusValues added in v0.3.0

func PossibleCurrentClusterAksVersionStatusValues() []CurrentClusterAksVersionStatus

PossibleCurrentClusterAksVersionStatusValues returns the possible values for the CurrentClusterAksVersionStatus const type.

type CurrentClusterPoolAksVersionStatus added in v0.3.0

type CurrentClusterPoolAksVersionStatus string

CurrentClusterPoolAksVersionStatus - Current AKS version's status: whether it is deprecated or supported

const (
	CurrentClusterPoolAksVersionStatusDeprecated CurrentClusterPoolAksVersionStatus = "Deprecated"
	CurrentClusterPoolAksVersionStatusSupported  CurrentClusterPoolAksVersionStatus = "Supported"
)

func PossibleCurrentClusterPoolAksVersionStatusValues added in v0.3.0

func PossibleCurrentClusterPoolAksVersionStatusValues() []CurrentClusterPoolAksVersionStatus

PossibleCurrentClusterPoolAksVersionStatusValues returns the possible values for the CurrentClusterPoolAksVersionStatus const type.

type DataDiskType added in v0.3.0

type DataDiskType string

DataDiskType - Managed Disk Type.

const (
	DataDiskTypePremiumSSDLRS   DataDiskType = "Premium_SSD_LRS"
	DataDiskTypePremiumSSDV2LRS DataDiskType = "Premium_SSD_v2_LRS"
	DataDiskTypePremiumSSDZRS   DataDiskType = "Premium_SSD_ZRS"
	DataDiskTypeStandardHDDLRS  DataDiskType = "Standard_HDD_LRS"
	DataDiskTypeStandardSSDLRS  DataDiskType = "Standard_SSD_LRS"
	DataDiskTypeStandardSSDZRS  DataDiskType = "Standard_SSD_ZRS"
)

func PossibleDataDiskTypeValues added in v0.3.0

func PossibleDataDiskTypeValues() []DataDiskType

PossibleDataDiskTypeValues returns the possible values for the DataDiskType const type.

type DbConnectionAuthenticationMode added in v0.3.0

type DbConnectionAuthenticationMode string

DbConnectionAuthenticationMode - The authentication mode to connect to your Hive metastore database. More details: https://learn.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage?view=azuresql#authentication-and-authorization

const (
	// DbConnectionAuthenticationModeIdentityAuth - The managed-identity-based authentication to connect to your Hive metastore
	// database.
	DbConnectionAuthenticationModeIdentityAuth DbConnectionAuthenticationMode = "IdentityAuth"
	// DbConnectionAuthenticationModeSQLAuth - The password-based authentication to connect to your Hive metastore database.
	DbConnectionAuthenticationModeSQLAuth DbConnectionAuthenticationMode = "SqlAuth"
)

func PossibleDbConnectionAuthenticationModeValues added in v0.3.0

func PossibleDbConnectionAuthenticationModeValues() []DbConnectionAuthenticationMode

PossibleDbConnectionAuthenticationModeValues returns the possible values for the DbConnectionAuthenticationMode const type.

type DeploymentMode added in v0.3.0

type DeploymentMode string

DeploymentMode - A string property that indicates the deployment mode of Flink cluster. It can have one of the following enum values => Application, Session. Default value is Session

const (
	DeploymentModeApplication DeploymentMode = "Application"
	DeploymentModeSession     DeploymentMode = "Session"
)

func PossibleDeploymentModeValues added in v0.3.0

func PossibleDeploymentModeValues() []DeploymentMode

PossibleDeploymentModeValues returns the possible values for the DeploymentMode const type.

type DiskStorageProfile added in v0.3.0

type DiskStorageProfile struct {
	// REQUIRED; Managed Disk size in GB. The maximum supported disk size for Standard and Premium HDD/SSD is 32TB, except for
	// Premium SSD v2, which supports up to 64TB.
	DataDiskSize *int32

	// REQUIRED; Managed Disk Type.
	DataDiskType *DataDiskType
}

DiskStorageProfile - Kafka disk storage profile.

func (DiskStorageProfile) MarshalJSON added in v0.3.0

func (d DiskStorageProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type DiskStorageProfile.

func (*DiskStorageProfile) UnmarshalJSON added in v0.3.0

func (d *DiskStorageProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type DiskStorageProfile.

type FlinkCatalogOptions

type FlinkCatalogOptions struct {
	// Hive Catalog Option for Flink cluster.
	Hive *FlinkHiveCatalogOption
}

FlinkCatalogOptions - Flink cluster catalog options.

func (FlinkCatalogOptions) MarshalJSON

func (f FlinkCatalogOptions) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FlinkCatalogOptions.

func (*FlinkCatalogOptions) UnmarshalJSON

func (f *FlinkCatalogOptions) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FlinkCatalogOptions.

type FlinkHiveCatalogOption

type FlinkHiveCatalogOption struct {
	// REQUIRED; Connection string for hive metastore database.
	MetastoreDbConnectionURL *string

	// The authentication mode to connect to your Hive metastore database. More details:
	// https://learn.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage?view=azuresql#authentication-and-authorization
	MetastoreDbConnectionAuthenticationMode *MetastoreDbConnectionAuthenticationMode

	// Secret reference name from secretsProfile.secrets containing password for database connection.
	MetastoreDbConnectionPasswordSecret *string

	// User name for database connection.
	MetastoreDbConnectionUserName *string
}

FlinkHiveCatalogOption - Hive Catalog Option for Flink cluster.

func (FlinkHiveCatalogOption) MarshalJSON

func (f FlinkHiveCatalogOption) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FlinkHiveCatalogOption.

func (*FlinkHiveCatalogOption) UnmarshalJSON

func (f *FlinkHiveCatalogOption) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FlinkHiveCatalogOption.

type FlinkJobProfile added in v0.3.0

type FlinkJobProfile struct {
	// REQUIRED; A string property that represents the name of the job JAR.
	JarName *string

	// REQUIRED; A string property that specifies the directory where the job JAR is located.
	JobJarDirectory *string

	// REQUIRED; A string property that indicates the upgrade mode to be performed on the Flink job. It can have one of the following
	// enum values => STATELESSUPDATE, UPDATE, LASTSTATE_UPDATE.
	UpgradeMode *UpgradeMode

	// A string property representing additional JVM arguments for the Flink job. It should be space separated value.
	Args *string

	// A string property that specifies the entry class for the Flink job. If not specified, the entry point is auto-detected
	// from the flink job jar package.
	EntryClass *string

	// A string property that represents the name of the savepoint for the Flink job
	SavePointName *string
}

FlinkJobProfile - Job specifications for flink clusters in application deployment mode. The specification is immutable even if job properties are changed by calling the RunJob API, please use the ListJob API to get the latest job information.

func (FlinkJobProfile) MarshalJSON added in v0.3.0

func (f FlinkJobProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FlinkJobProfile.

func (*FlinkJobProfile) UnmarshalJSON added in v0.3.0

func (f *FlinkJobProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FlinkJobProfile.

type FlinkJobProperties

type FlinkJobProperties struct {
	// REQUIRED; Type of cluster job.
	JobType *JobType

	// A string property that indicates the action to be performed on the Flink job. It can have one of the following enum values
	// => NEW, UPDATE, STATELESSUPDATE, STOP, START, CANCEL, SAVEPOINT, LIST
	// SAVEPOINT, or DELETE.
	Action *Action

	// A string property representing additional JVM arguments for the Flink job. It should be space separated value.
	Args *string

	// A string property that specifies the entry class for the Flink job.
	EntryClass *string

	// Additional properties used to configure Flink jobs. It allows users to set properties such as parallelism and jobSavePointDirectory.
	// It accepts additional key-value pairs as properties, where the keys
	// are strings and the values are strings as well.
	FlinkConfiguration map[string]*string

	// A string property that represents the name of the job JAR.
	JarName *string

	// A string property that specifies the directory where the job JAR is located.
	JobJarDirectory *string

	// Name of job
	JobName *string

	// Run id of job
	RunID *string

	// A string property that represents the name of the savepoint for the Flink job
	SavePointName *string

	// READ-ONLY; Action result of job.
	ActionResult *string

	// READ-ONLY; Unique id for identifying a job
	JobID *string

	// READ-ONLY; Output of job.
	JobOutput *string

	// READ-ONLY; The last savepoint.
	LastSavePoint *string

	// READ-ONLY; Status of job.
	Status *string
}

FlinkJobProperties - Properties of flink job.

func (*FlinkJobProperties) GetClusterJobProperties

func (f *FlinkJobProperties) GetClusterJobProperties() *ClusterJobProperties

GetClusterJobProperties implements the ClusterJobPropertiesClassification interface for type FlinkJobProperties.

func (FlinkJobProperties) MarshalJSON

func (f FlinkJobProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FlinkJobProperties.

func (*FlinkJobProperties) UnmarshalJSON

func (f *FlinkJobProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FlinkJobProperties.

type FlinkProfile

type FlinkProfile struct {
	// REQUIRED; Job Manager container/ process CPU and memory requirements
	JobManager *ComputeResourceDefinition

	// REQUIRED; The storage profile
	Storage *FlinkStorageProfile

	// REQUIRED; Task Manager container/ process CPU and memory requirements
	TaskManager *ComputeResourceDefinition

	// Flink cluster catalog options.
	CatalogOptions *FlinkCatalogOptions

	// A string property that indicates the deployment mode of Flink cluster. It can have one of the following enum values =>
	// Application, Session. Default value is Session
	DeploymentMode *DeploymentMode

	// History Server container/ process CPU and memory requirements
	HistoryServer *ComputeResourceDefinition

	// Job specifications for flink clusters in application deployment mode. The specification is immutable even if job properties
	// are changed by calling the RunJob API, please use the ListJob API to get the
	// latest job information.
	JobSpec *FlinkJobProfile

	// The number of task managers.
	NumReplicas *int32
}

FlinkProfile - The Flink cluster profile.

func (FlinkProfile) MarshalJSON

func (f FlinkProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FlinkProfile.

func (*FlinkProfile) UnmarshalJSON

func (f *FlinkProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FlinkProfile.

type FlinkStorageProfile

type FlinkStorageProfile struct {
	// REQUIRED; Storage account uri which is used for savepoint and checkpoint state.
	StorageURI *string

	// Storage key is only required for wasb(s) storage.
	Storagekey *string
}

FlinkStorageProfile - The storage profile

func (FlinkStorageProfile) MarshalJSON

func (f FlinkStorageProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type FlinkStorageProfile.

func (*FlinkStorageProfile) UnmarshalJSON

func (f *FlinkStorageProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type FlinkStorageProfile.

type HiveCatalogOption

type HiveCatalogOption struct {
	// REQUIRED; Name of trino catalog which should use specified hive metastore.
	CatalogName *string

	// REQUIRED; Connection string for hive metastore database.
	MetastoreDbConnectionURL *string

	// REQUIRED; Metastore root directory URI, format: abfs[s]://@.dfs.core.windows.net/. More details: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction-abfs-uri
	MetastoreWarehouseDir *string

	// The authentication mode to connect to your Hive metastore database. More details:
	// https://learn.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage?view=azuresql#authentication-and-authorization
	MetastoreDbConnectionAuthenticationMode *MetastoreDbConnectionAuthenticationMode

	// Secret reference name from secretsProfile.secrets containing password for database connection.
	MetastoreDbConnectionPasswordSecret *string

	// User name for database connection.
	MetastoreDbConnectionUserName *string
}

HiveCatalogOption - Hive Catalog Option

func (HiveCatalogOption) MarshalJSON

func (h HiveCatalogOption) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type HiveCatalogOption.

func (*HiveCatalogOption) UnmarshalJSON

func (h *HiveCatalogOption) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type HiveCatalogOption.

type IdentityProfile

type IdentityProfile struct {
	// REQUIRED; ClientId of the MSI.
	MsiClientID *string

	// REQUIRED; ObjectId of the MSI.
	MsiObjectID *string

	// REQUIRED; ResourceId of the MSI.
	MsiResourceID *string
}

IdentityProfile - Identity Profile with details of an MSI.

func (IdentityProfile) MarshalJSON

func (i IdentityProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type IdentityProfile.

func (*IdentityProfile) UnmarshalJSON

func (i *IdentityProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type IdentityProfile.

type JobType

type JobType string

JobType - Type of cluster job.

const (
	JobTypeFlinkJob JobType = "FlinkJob"
)

func PossibleJobTypeValues

func PossibleJobTypeValues() []JobType

PossibleJobTypeValues returns the possible values for the JobType const type.

type KafkaConnectivityEndpoints added in v0.3.0

type KafkaConnectivityEndpoints struct {
	// bootstrap server connectivity endpoint.
	BootstrapServerEndpoint *string

	// Kafka broker endpoint list.
	BrokerEndpoints []*string
}

KafkaConnectivityEndpoints - Kafka bootstrap server and broker related connectivity endpoints.

func (KafkaConnectivityEndpoints) MarshalJSON added in v0.3.0

func (k KafkaConnectivityEndpoints) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type KafkaConnectivityEndpoints.

func (*KafkaConnectivityEndpoints) UnmarshalJSON added in v0.3.0

func (k *KafkaConnectivityEndpoints) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type KafkaConnectivityEndpoints.

type KafkaProfile added in v0.3.0

type KafkaProfile struct {
	// REQUIRED; Kafka disk storage profile.
	DiskStorage *DiskStorageProfile

	// Expose Kafka cluster in KRaft mode.
	EnableKRaft *bool

	// Expose worker nodes as public endpoints.
	EnablePublicEndpoints *bool

	// Fully qualified path of Azure Storage container used for Tiered Storage.
	RemoteStorageURI *string

	// READ-ONLY; Identity of the internal service components inside the Kafka cluster.
	ClusterIdentity *IdentityProfile

	// READ-ONLY; Kafka bootstrap server and brokers related connectivity endpoints.
	ConnectivityEndpoints *KafkaConnectivityEndpoints
}

KafkaProfile - The Kafka cluster profile.

func (KafkaProfile) MarshalJSON added in v0.3.0

func (k KafkaProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type KafkaProfile.

func (*KafkaProfile) UnmarshalJSON added in v0.3.0

func (k *KafkaProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type KafkaProfile.

type KeyVaultObjectType

type KeyVaultObjectType string

KeyVaultObjectType - Type of key vault object: secret, key or certificate.

const (
	KeyVaultObjectTypeCertificate KeyVaultObjectType = "Certificate"
	KeyVaultObjectTypeKey         KeyVaultObjectType = "Key"
	KeyVaultObjectTypeSecret      KeyVaultObjectType = "Secret"
)

func PossibleKeyVaultObjectTypeValues

func PossibleKeyVaultObjectTypeValues() []KeyVaultObjectType

PossibleKeyVaultObjectTypeValues returns the possible values for the KeyVaultObjectType const type.

type LoadBasedConfig

type LoadBasedConfig struct {
	// REQUIRED; User needs to set the maximum number of nodes for load based scaling, the load based scaling will use this to
	// scale up and scale down between minimum and maximum number of nodes.
	MaxNodes *int32

	// REQUIRED; User needs to set the minimum number of nodes for load based scaling, the load based scaling will use this to
	// scale up and scale down between minimum and maximum number of nodes.
	MinNodes *int32

	// REQUIRED; The scaling rules.
	ScalingRules []*ScalingRule

	// This is a cool down period, this is a time period in seconds, which determines the amount of time that must elapse between
	// a scaling activity started by a rule and the start of the next scaling
	// activity, regardless of the rule that triggers it. The default value is 300 seconds.
	CooldownPeriod *int32

	// User can specify the poll interval, this is the time period (in seconds) after which scaling metrics are polled for triggering
	// a scaling operation.
	PollInterval *int32
}

LoadBasedConfig - Profile of load based Autoscale.

func (LoadBasedConfig) MarshalJSON

func (l LoadBasedConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type LoadBasedConfig.

func (*LoadBasedConfig) UnmarshalJSON

func (l *LoadBasedConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type LoadBasedConfig.

type LocationsClient

type LocationsClient struct {
	// contains filtered or unexported fields
}

LocationsClient contains the methods for the Locations group. Don't use this type directly, use NewLocationsClient() instead.

func NewLocationsClient

func NewLocationsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) (*LocationsClient, error)

NewLocationsClient creates a new instance of LocationsClient with the specified values.

  • subscriptionID - The ID of the target subscription. The value must be an UUID.
  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*LocationsClient) CheckNameAvailability

func (client *LocationsClient) CheckNameAvailability(ctx context.Context, location string, nameAvailabilityParameters NameAvailabilityParameters, options *LocationsClientCheckNameAvailabilityOptions) (LocationsClientCheckNameAvailabilityResponse, error)

CheckNameAvailability - Check the availability of the resource name. If the operation fails it returns an *azcore.ResponseError type.

Generated from API version 2023-11-01-preview

  • location - The name of the Azure region.
  • nameAvailabilityParameters - The name and type of the resource.
  • options - LocationsClientCheckNameAvailabilityOptions contains the optional parameters for the LocationsClient.CheckNameAvailability method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/LocationsNameAvailability.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	res, err := clientFactory.NewLocationsClient().CheckNameAvailability(ctx, "southeastasia", armhdinsightcontainers.NameAvailabilityParameters{
		Name: to.Ptr("contosemember1"),
		Type: to.Ptr("Microsoft.HDInsight/clusterPools/clusters"),
	}, nil)
	if err != nil {
		log.Fatalf("failed to finish the request: %v", err)
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
	// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
	// res.NameAvailabilityResult = armhdinsightcontainers.NameAvailabilityResult{
	// 	NameAvailable: to.Ptr(false),
	// 	Reason: to.Ptr("AlreadyExists"),
	// }
}
Output:

type LocationsClientCheckNameAvailabilityOptions

type LocationsClientCheckNameAvailabilityOptions struct {
}

LocationsClientCheckNameAvailabilityOptions contains the optional parameters for the LocationsClient.CheckNameAvailability method.

type LocationsClientCheckNameAvailabilityResponse

type LocationsClientCheckNameAvailabilityResponse struct {
	// Result of check name availability.
	NameAvailabilityResult
}

LocationsClientCheckNameAvailabilityResponse contains the response from method LocationsClient.CheckNameAvailability.

type MetastoreDbConnectionAuthenticationMode added in v0.3.0

type MetastoreDbConnectionAuthenticationMode string

MetastoreDbConnectionAuthenticationMode - The authentication mode to connect to your Hive metastore database. More details: https://learn.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage?view=azuresql#authentication-and-authorization

const (
	// MetastoreDbConnectionAuthenticationModeIdentityAuth - The managed-identity-based authentication to connect to your Hive
	// metastore database.
	MetastoreDbConnectionAuthenticationModeIdentityAuth MetastoreDbConnectionAuthenticationMode = "IdentityAuth"
	// MetastoreDbConnectionAuthenticationModeSQLAuth - The password-based authentication to connect to your Hive metastore database.
	MetastoreDbConnectionAuthenticationModeSQLAuth MetastoreDbConnectionAuthenticationMode = "SqlAuth"
)

func PossibleMetastoreDbConnectionAuthenticationModeValues added in v0.3.0

func PossibleMetastoreDbConnectionAuthenticationModeValues() []MetastoreDbConnectionAuthenticationMode

PossibleMetastoreDbConnectionAuthenticationModeValues returns the possible values for the MetastoreDbConnectionAuthenticationMode const type.

type NameAvailabilityParameters

type NameAvailabilityParameters struct {
	// Name for checking availability.
	Name *string

	// The resource type in Microsoft.HDInsight.
	Type *string
}

NameAvailabilityParameters - Details of check name availability request body.

func (NameAvailabilityParameters) MarshalJSON

func (n NameAvailabilityParameters) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NameAvailabilityParameters.

func (*NameAvailabilityParameters) UnmarshalJSON

func (n *NameAvailabilityParameters) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NameAvailabilityParameters.

type NameAvailabilityResult

type NameAvailabilityResult struct {
	// The error message of unavailability.
	Message *string

	// Indicator of availability of the Microsoft.HDInsight resource name.
	NameAvailable *bool

	// The reason of unavailability.
	Reason *string
}

NameAvailabilityResult - Result of check name availability.

func (NameAvailabilityResult) MarshalJSON

func (n NameAvailabilityResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NameAvailabilityResult.

func (*NameAvailabilityResult) UnmarshalJSON

func (n *NameAvailabilityResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NameAvailabilityResult.

type NodeProfile

type NodeProfile struct {
	// REQUIRED; The number of virtual machines.
	Count *int32

	// REQUIRED; The node type.
	Type *string

	// REQUIRED; The virtual machine SKU.
	VMSize *string
}

NodeProfile - The node profile.

func (NodeProfile) MarshalJSON

func (n NodeProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type NodeProfile.

func (*NodeProfile) UnmarshalJSON

func (n *NodeProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type NodeProfile.

type Operation

type Operation struct {
	// Localized display information for this particular operation.
	Display *OperationDisplay

	// READ-ONLY; Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
	ActionType *ActionType

	// READ-ONLY; Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for ARM/control-plane
	// operations.
	IsDataAction *bool

	// READ-ONLY; The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write",
	// "Microsoft.Compute/virtualMachines/capture/action"
	Name *string

	// READ-ONLY; The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
	// value is "user,system"
	Origin *Origin
}

Operation - Details of a REST API operation, returned from the Resource Provider Operations API

func (Operation) MarshalJSON

func (o Operation) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Operation.

func (*Operation) UnmarshalJSON

func (o *Operation) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Operation.

type OperationDisplay

type OperationDisplay struct {
	// READ-ONLY; The short, localized friendly description of the operation; suitable for tool tips and detailed views.
	Description *string

	// READ-ONLY; The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual
	// Machine", "Restart Virtual Machine".
	Operation *string

	// READ-ONLY; The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft
	// Compute".
	Provider *string

	// READ-ONLY; The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job
	// Schedule Collections".
	Resource *string
}

OperationDisplay - Localized display information for this particular operation.

func (OperationDisplay) MarshalJSON

func (o OperationDisplay) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationDisplay.

func (*OperationDisplay) UnmarshalJSON

func (o *OperationDisplay) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationDisplay.

type OperationListResult

type OperationListResult struct {
	// READ-ONLY; URL to get the next set of operation list results (if there are any).
	NextLink *string

	// READ-ONLY; List of operations supported by the resource provider
	Value []*Operation
}

OperationListResult - A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.

func (OperationListResult) MarshalJSON

func (o OperationListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type OperationListResult.

func (*OperationListResult) UnmarshalJSON

func (o *OperationListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type OperationListResult.

type OperationsClient

type OperationsClient struct {
	// contains filtered or unexported fields
}

OperationsClient contains the methods for the Operations group. Don't use this type directly, use NewOperationsClient() instead.

func NewOperationsClient

func NewOperationsClient(credential azcore.TokenCredential, options *arm.ClientOptions) (*OperationsClient, error)

NewOperationsClient creates a new instance of OperationsClient with the specified values.

  • credential - used to authorize requests. Usually a credential from azidentity.
  • options - pass nil to accept the default values.

func (*OperationsClient) NewListPager

NewListPager - Returns list of operations.

Generated from API version 2023-11-01-preview

  • options - OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.
Example

Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/92de53a5f1e0e03c94b40475d2135d97148ed014/specification/hdinsight/resource-manager/Microsoft.HDInsight/HDInsightOnAks/preview/2023-11-01-preview/examples/GetOperations.json

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsightcontainers/armhdinsightcontainers"
)

func main() {
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		log.Fatalf("failed to obtain a credential: %v", err)
	}
	ctx := context.Background()
	clientFactory, err := armhdinsightcontainers.NewClientFactory("<subscription-id>", cred, nil)
	if err != nil {
		log.Fatalf("failed to create client: %v", err)
	}
	pager := clientFactory.NewOperationsClient().NewListPager(nil)
	for pager.More() {
		page, err := pager.NextPage(ctx)
		if err != nil {
			log.Fatalf("failed to advance page: %v", err)
		}
		for _, v := range page.Value {
			// You could use page here. We use blank identifier for just demo purposes.
			_ = v
		}
		// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
		// page.OperationListResult = armhdinsightcontainers.OperationListResult{
		// 	Value: []*armhdinsightcontainers.Operation{
		// 		{
		// 			Name: to.Ptr("Microsoft.HDInsight/clusterpool/read"),
		// 			Display: &armhdinsightcontainers.OperationDisplay{
		// 				Description: to.Ptr("Get any cluster pool."),
		// 				Operation: to.Ptr("Get Cluster Pool Operation result."),
		// 				Provider: to.Ptr("HDInsight on AKS"),
		// 				Resource: to.Ptr("Cluster Pool."),
		// 			},
		// 			IsDataAction: to.Ptr(false),
		// 			Origin: to.Ptr(armhdinsightcontainers.Origin("user, system")),
		// 	}},
		// }
	}
}
Output:

type OperationsClientListOptions

type OperationsClientListOptions struct {
}

OperationsClientListOptions contains the optional parameters for the OperationsClient.NewListPager method.

type OperationsClientListResponse

type OperationsClientListResponse struct {
	// A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.
	OperationListResult
}

OperationsClientListResponse contains the response from method OperationsClient.NewListPager.

type Origin

type Origin string

Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"

const (
	OriginSystem     Origin = "system"
	OriginUser       Origin = "user"
	OriginUserSystem Origin = "user,system"
)

func PossibleOriginValues

func PossibleOriginValues() []Origin

PossibleOriginValues returns the possible values for the Origin const type.

type OutboundType added in v0.3.0

type OutboundType string

OutboundType - This can only be set at cluster pool creation time and cannot be changed later.

const (
	// OutboundTypeLoadBalancer - The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes
	// services of type 'loadBalancer'.
	OutboundTypeLoadBalancer OutboundType = "loadBalancer"
	// OutboundTypeUserDefinedRouting - Egress paths must be defined by the user. This is an advanced scenario and requires proper
	// network configuration.
	OutboundTypeUserDefinedRouting OutboundType = "userDefinedRouting"
)

func PossibleOutboundTypeValues added in v0.3.0

func PossibleOutboundTypeValues() []OutboundType

PossibleOutboundTypeValues returns the possible values for the OutboundType const type.

type ProvisioningStatus

type ProvisioningStatus string

ProvisioningStatus - Provisioning state of the resource.

const (
	ProvisioningStatusAccepted  ProvisioningStatus = "Accepted"
	ProvisioningStatusCanceled  ProvisioningStatus = "Canceled"
	ProvisioningStatusFailed    ProvisioningStatus = "Failed"
	ProvisioningStatusSucceeded ProvisioningStatus = "Succeeded"
)

func PossibleProvisioningStatusValues

func PossibleProvisioningStatusValues() []ProvisioningStatus

PossibleProvisioningStatusValues returns the possible values for the ProvisioningStatus const type.

type RangerAdminSpec added in v0.3.0

type RangerAdminSpec struct {
	// REQUIRED; List of usernames that should be marked as ranger admins. These usernames should match the user principal name
	// (UPN) of the respective AAD users.
	Admins []*string

	// REQUIRED
	Database *RangerAdminSpecDatabase
}

RangerAdminSpec - Specification for the Ranger Admin service.

func (RangerAdminSpec) MarshalJSON added in v0.3.0

func (r RangerAdminSpec) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RangerAdminSpec.

func (*RangerAdminSpec) UnmarshalJSON added in v0.3.0

func (r *RangerAdminSpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RangerAdminSpec.

type RangerAdminSpecDatabase added in v0.3.0

type RangerAdminSpecDatabase struct {
	// REQUIRED; The database URL
	Host *string

	// REQUIRED; The database name
	Name *string

	// Reference for the database password
	PasswordSecretRef *string

	// The name of the database user
	Username *string
}

func (RangerAdminSpecDatabase) MarshalJSON added in v0.3.0

func (r RangerAdminSpecDatabase) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RangerAdminSpecDatabase.

func (*RangerAdminSpecDatabase) UnmarshalJSON added in v0.3.0

func (r *RangerAdminSpecDatabase) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RangerAdminSpecDatabase.

type RangerAuditSpec added in v0.3.0

type RangerAuditSpec struct {
	// Azure storage location of the blobs. MSI should have read/write access to this Storage account.
	StorageAccount *string
}

RangerAuditSpec - Properties required to describe audit log storage.

func (RangerAuditSpec) MarshalJSON added in v0.3.0

func (r RangerAuditSpec) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RangerAuditSpec.

func (*RangerAuditSpec) UnmarshalJSON added in v0.3.0

func (r *RangerAuditSpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RangerAuditSpec.

type RangerProfile added in v0.3.0

type RangerProfile struct {
	// REQUIRED; Specification for the Ranger Admin service.
	RangerAdmin *RangerAdminSpec

	// REQUIRED; Specification for the Ranger Usersync service
	RangerUsersync *RangerUsersyncSpec

	// Properties required to describe audit log storage.
	RangerAudit *RangerAuditSpec
}

RangerProfile - The ranger cluster profile.

func (RangerProfile) MarshalJSON added in v0.3.0

func (r RangerProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RangerProfile.

func (*RangerProfile) UnmarshalJSON added in v0.3.0

func (r *RangerProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RangerProfile.

type RangerUsersyncMode added in v0.3.0

type RangerUsersyncMode string

RangerUsersyncMode - User & groups can be synced automatically or via a static list that's refreshed.

const (
	RangerUsersyncModeAutomatic RangerUsersyncMode = "automatic"
	RangerUsersyncModeStatic    RangerUsersyncMode = "static"
)

func PossibleRangerUsersyncModeValues added in v0.3.0

func PossibleRangerUsersyncModeValues() []RangerUsersyncMode

PossibleRangerUsersyncModeValues returns the possible values for the RangerUsersyncMode const type.

type RangerUsersyncSpec added in v0.3.0

type RangerUsersyncSpec struct {
	// Denotes whether usersync service should be enabled
	Enabled *bool

	// List of groups that should be synced. These group names should match the object id of the respective AAD groups.
	Groups []*string

	// User & groups can be synced automatically or via a static list that's refreshed.
	Mode *RangerUsersyncMode

	// Azure storage location of a mapping file that lists user & group associations.
	UserMappingLocation *string

	// List of user names that should be synced. These usernames should match the User principal name of the respective AAD users.
	Users []*string
}

RangerUsersyncSpec - Specification for the Ranger Usersync service

func (RangerUsersyncSpec) MarshalJSON added in v0.3.0

func (r RangerUsersyncSpec) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type RangerUsersyncSpec.

func (*RangerUsersyncSpec) UnmarshalJSON added in v0.3.0

func (r *RangerUsersyncSpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type RangerUsersyncSpec.

type SSHConnectivityEndpoint

type SSHConnectivityEndpoint struct {
	// REQUIRED; SSH connectivity endpoint.
	Endpoint *string

	// Private SSH connectivity endpoint. This property will only be returned when enableInternalIngress is true.
	PrivateSSHEndpoint *string
}

SSHConnectivityEndpoint - SSH connectivity endpoint details.

func (SSHConnectivityEndpoint) MarshalJSON

func (s SSHConnectivityEndpoint) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SSHConnectivityEndpoint.

func (*SSHConnectivityEndpoint) UnmarshalJSON

func (s *SSHConnectivityEndpoint) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SSHConnectivityEndpoint.

type SSHProfile

type SSHProfile struct {
	// REQUIRED; Number of ssh pods per cluster.
	Count *int32

	// READ-ONLY; Prefix of the pod names. Pod number will be appended to the prefix. The ingress URLs for the pods will be available
	// at //-
	PodPrefix *string
}

SSHProfile - Ssh profile for the cluster.

func (SSHProfile) MarshalJSON

func (s SSHProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SSHProfile.

func (*SSHProfile) UnmarshalJSON

func (s *SSHProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SSHProfile.

type ScaleActionType

type ScaleActionType string

ScaleActionType - The action type.

const (
	ScaleActionTypeScaledown ScaleActionType = "scaledown"
	ScaleActionTypeScaleup   ScaleActionType = "scaleup"
)

func PossibleScaleActionTypeValues

func PossibleScaleActionTypeValues() []ScaleActionType

PossibleScaleActionTypeValues returns the possible values for the ScaleActionType const type.

type ScalingRule

type ScalingRule struct {
	// REQUIRED; The action type.
	ActionType *ScaleActionType

	// REQUIRED; The comparison rule.
	ComparisonRule *ComparisonRule

	// REQUIRED; This is an evaluation count for a scaling condition, the number of times a trigger condition should be successful,
	// before scaling activity is triggered.
	EvaluationCount *int32

	// REQUIRED; Metrics name for individual workloads. For example: cpu
	ScalingMetric *string
}

ScalingRule - The scaling rule.

func (ScalingRule) MarshalJSON

func (s ScalingRule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ScalingRule.

func (*ScalingRule) UnmarshalJSON

func (s *ScalingRule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ScalingRule.

type Schedule

type Schedule struct {
	// REQUIRED; User has to set the node count anticipated at end of the scaling operation of the set current schedule configuration,
	// format is integer.
	Count *int32

	// REQUIRED; User has to set the days where schedule has to be set for autoscale operation.
	Days []*ScheduleDay

	// REQUIRED; User has to set the end time of current schedule configuration, format like 10:30 (HH:MM).
	EndTime *string

	// REQUIRED; User has to set the start time of current schedule configuration, format like 10:30 (HH:MM).
	StartTime *string
}

Schedule definition.

func (Schedule) MarshalJSON

func (s Schedule) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type Schedule.

func (*Schedule) UnmarshalJSON

func (s *Schedule) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type Schedule.

type ScheduleBasedConfig

type ScheduleBasedConfig struct {
	// REQUIRED; Setting default node count of current schedule configuration. Default node count specifies the number of nodes
	// which are default when an specified scaling operation is executed (scale up/scale down)
	DefaultCount *int32

	// REQUIRED; This specifies the schedules where scheduled based Autoscale to be enabled, the user has a choice to set multiple
	// rules within the schedule across days and times (start/end).
	Schedules []*Schedule

	// REQUIRED; User has to specify the timezone on which the schedule has to be set for schedule based autoscale configuration.
	TimeZone *string
}

ScheduleBasedConfig - Profile of schedule based Autoscale.

func (ScheduleBasedConfig) MarshalJSON

func (s ScheduleBasedConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ScheduleBasedConfig.

func (*ScheduleBasedConfig) UnmarshalJSON

func (s *ScheduleBasedConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ScheduleBasedConfig.

type ScheduleDay

type ScheduleDay string
const (
	ScheduleDayFriday    ScheduleDay = "Friday"
	ScheduleDayMonday    ScheduleDay = "Monday"
	ScheduleDaySaturday  ScheduleDay = "Saturday"
	ScheduleDaySunday    ScheduleDay = "Sunday"
	ScheduleDayThursday  ScheduleDay = "Thursday"
	ScheduleDayTuesday   ScheduleDay = "Tuesday"
	ScheduleDayWednesday ScheduleDay = "Wednesday"
)

func PossibleScheduleDayValues

func PossibleScheduleDayValues() []ScheduleDay

PossibleScheduleDayValues returns the possible values for the ScheduleDay const type.

type ScriptActionProfile

type ScriptActionProfile struct {
	// REQUIRED; Script name.
	Name *string

	// REQUIRED; List of services to apply the script action.
	Services []*string

	// REQUIRED; Type of the script action. Supported type is bash scripts.
	Type *string

	// REQUIRED; Url of the script file.
	URL *string

	// Additional parameters for the script action. It should be space-separated list of arguments required for script execution.
	Parameters *string

	// Specify if the script should persist on the cluster.
	ShouldPersist *bool

	// Timeout duration for the script action in minutes.
	TimeoutInMinutes *int32
}

ScriptActionProfile - The script action profile.

func (ScriptActionProfile) MarshalJSON

func (s ScriptActionProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ScriptActionProfile.

func (*ScriptActionProfile) UnmarshalJSON

func (s *ScriptActionProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ScriptActionProfile.

type SecretReference

type SecretReference struct {
	// REQUIRED; Object identifier name of the secret in key vault.
	KeyVaultObjectName *string

	// REQUIRED; Reference name of the secret to be used in service configs.
	ReferenceName *string

	// REQUIRED; Type of key vault object: secret, key or certificate.
	Type *KeyVaultObjectType

	// Version of the secret in key vault.
	Version *string
}

SecretReference - Secret reference and corresponding properties of a key vault secret.

func (SecretReference) MarshalJSON

func (s SecretReference) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SecretReference.

func (*SecretReference) UnmarshalJSON

func (s *SecretReference) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SecretReference.

type SecretsProfile

type SecretsProfile struct {
	// REQUIRED; Name of the user Key Vault where all the cluster specific user secrets are stored.
	KeyVaultResourceID *string

	// Properties of Key Vault secret.
	Secrets []*SecretReference
}

SecretsProfile - The cluster secret profile.

func (SecretsProfile) MarshalJSON

func (s SecretsProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SecretsProfile.

func (*SecretsProfile) UnmarshalJSON

func (s *SecretsProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SecretsProfile.

type ServiceConfigListResult

type ServiceConfigListResult struct {
	// Cluster instance service config array.
	Value []*ServiceConfigResult

	// READ-ONLY; The link (url) to the next page of results.
	NextLink *string
}

ServiceConfigListResult - Cluster instance service configs api response.

func (ServiceConfigListResult) MarshalJSON

func (s ServiceConfigListResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ServiceConfigListResult.

func (*ServiceConfigListResult) UnmarshalJSON

func (s *ServiceConfigListResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ServiceConfigListResult.

type ServiceConfigListResultValueEntity

type ServiceConfigListResultValueEntity struct {
	// REQUIRED; Config value.
	Value *string

	// Config description.
	Description *string
}

ServiceConfigListResultValueEntity - Default config details.

func (ServiceConfigListResultValueEntity) MarshalJSON

func (s ServiceConfigListResultValueEntity) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ServiceConfigListResultValueEntity.

func (*ServiceConfigListResultValueEntity) UnmarshalJSON

func (s *ServiceConfigListResultValueEntity) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ServiceConfigListResultValueEntity.

type ServiceConfigResult

type ServiceConfigResult struct {
	// Cluster instance service config properties.
	Properties *ServiceConfigResultProperties
}

ServiceConfigResult - Cluster instance service config.

func (ServiceConfigResult) MarshalJSON

func (s ServiceConfigResult) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ServiceConfigResult.

func (*ServiceConfigResult) UnmarshalJSON

func (s *ServiceConfigResult) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ServiceConfigResult.

type ServiceConfigResultProperties

type ServiceConfigResultProperties struct {
	// REQUIRED; Component Name.
	ComponentName *string

	// REQUIRED; File Name.
	FileName *string

	// REQUIRED; Service Config Name.
	ServiceName *string

	// Content in the service config file.
	Content *string

	// The custom keys.
	CustomKeys map[string]*string

	// The default keys.
	DefaultKeys map[string]*ServiceConfigListResultValueEntity

	// Config file path.
	Path *string

	// Config type.
	Type *string
}

ServiceConfigResultProperties - Cluster instance service config properties.

func (ServiceConfigResultProperties) MarshalJSON

func (s ServiceConfigResultProperties) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ServiceConfigResultProperties.

func (*ServiceConfigResultProperties) UnmarshalJSON

func (s *ServiceConfigResultProperties) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ServiceConfigResultProperties.

type ServiceStatus

type ServiceStatus struct {
	// REQUIRED; Kind of the service. E.g. "Zookeeper".
	Kind *string

	// REQUIRED; Indicates if the service is ready / healthy. Values can be "true", "false", "unknown" or anything else.
	Ready *string

	// A message describing the error if any.
	Message *string
}

ServiceStatus - Describes the status of a service of a HDInsight on AKS cluster.

func (ServiceStatus) MarshalJSON

func (s ServiceStatus) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type ServiceStatus.

func (*ServiceStatus) UnmarshalJSON

func (s *ServiceStatus) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type ServiceStatus.

type Severity added in v0.3.0

type Severity string

Severity - Severity of this upgrade.

const (
	SeverityCritical Severity = "critical"
	SeverityHigh     Severity = "high"
	SeverityLow      Severity = "low"
	SeverityMedium   Severity = "medium"
)

func PossibleSeverityValues added in v0.3.0

func PossibleSeverityValues() []Severity

PossibleSeverityValues returns the possible values for the Severity const type.

type SparkMetastoreSpec

type SparkMetastoreSpec struct {
	// REQUIRED; The database name.
	DbName *string

	// REQUIRED; The database server host.
	DbServerHost *string

	// The authentication mode to connect to your Hive metastore database. More details:
	// https://learn.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage?view=azuresql#authentication-and-authorization
	DbConnectionAuthenticationMode *DbConnectionAuthenticationMode

	// The secret name which contains the database user password.
	DbPasswordSecretName *string

	// The database user name.
	DbUserName *string

	// The key vault resource id.
	KeyVaultID *string

	// The thrift url.
	ThriftURL *string
}

SparkMetastoreSpec - The metastore specification for Spark cluster.

func (SparkMetastoreSpec) MarshalJSON

func (s SparkMetastoreSpec) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SparkMetastoreSpec.

func (*SparkMetastoreSpec) UnmarshalJSON

func (s *SparkMetastoreSpec) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SparkMetastoreSpec.

type SparkProfile

type SparkProfile struct {
	// The default storage URL.
	DefaultStorageURL *string

	// The metastore specification for Spark cluster.
	MetastoreSpec *SparkMetastoreSpec

	// Spark user plugins spec
	UserPluginsSpec *SparkUserPlugins
}

SparkProfile - The spark cluster profile.

func (SparkProfile) MarshalJSON

func (s SparkProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SparkProfile.

func (*SparkProfile) UnmarshalJSON

func (s *SparkProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SparkProfile.

type SparkUserPlugin

type SparkUserPlugin struct {
	// REQUIRED; Fully qualified path to the folder containing the plugins.
	Path *string
}

SparkUserPlugin - Spark user plugin.

func (SparkUserPlugin) MarshalJSON

func (s SparkUserPlugin) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SparkUserPlugin.

func (*SparkUserPlugin) UnmarshalJSON

func (s *SparkUserPlugin) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SparkUserPlugin.

type SparkUserPlugins

type SparkUserPlugins struct {
	// Spark user plugins.
	Plugins []*SparkUserPlugin
}

SparkUserPlugins - Spark user plugins spec

func (SparkUserPlugins) MarshalJSON

func (s SparkUserPlugins) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SparkUserPlugins.

func (*SparkUserPlugins) UnmarshalJSON

func (s *SparkUserPlugins) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SparkUserPlugins.

type SystemData

type SystemData struct {
	// The timestamp of resource creation (UTC).
	CreatedAt *time.Time

	// The identity that created the resource.
	CreatedBy *string

	// The type of identity that created the resource.
	CreatedByType *CreatedByType

	// The timestamp of resource last modification (UTC)
	LastModifiedAt *time.Time

	// The identity that last modified the resource.
	LastModifiedBy *string

	// The type of identity that last modified the resource.
	LastModifiedByType *CreatedByType
}

SystemData - Metadata pertaining to creation and last modification of the resource.

func (SystemData) MarshalJSON

func (s SystemData) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type SystemData.

func (*SystemData) UnmarshalJSON

func (s *SystemData) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type SystemData.

type TagsObject

type TagsObject struct {
	// Resource tags.
	Tags map[string]*string
}

TagsObject - Tags object for patch operations.

func (TagsObject) MarshalJSON

func (t TagsObject) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TagsObject.

func (*TagsObject) UnmarshalJSON

func (t *TagsObject) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TagsObject.

type TrinoCoordinator

type TrinoCoordinator struct {
	// Trino debug configuration.
	Debug *TrinoDebugConfig

	// The flag that if enable coordinator HA, uses multiple coordinator replicas with auto failover, one per each head node.
	// Default: true.
	HighAvailabilityEnabled *bool
}

TrinoCoordinator - Trino Coordinator.

func (TrinoCoordinator) MarshalJSON

func (t TrinoCoordinator) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoCoordinator.

func (*TrinoCoordinator) UnmarshalJSON

func (t *TrinoCoordinator) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoCoordinator.

type TrinoDebugConfig

type TrinoDebugConfig struct {
	// The flag that if enable debug or not.
	Enable *bool

	// The debug port.
	Port *int32

	// The flag that if suspend debug or not.
	Suspend *bool
}

TrinoDebugConfig - Trino debug configuration.

func (TrinoDebugConfig) MarshalJSON

func (t TrinoDebugConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoDebugConfig.

func (*TrinoDebugConfig) UnmarshalJSON

func (t *TrinoDebugConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoDebugConfig.

type TrinoProfile

type TrinoProfile struct {
	// Trino cluster catalog options.
	CatalogOptions *CatalogOptions

	// Trino Coordinator.
	Coordinator *TrinoCoordinator

	// Trino user plugins spec
	UserPluginsSpec *TrinoUserPlugins

	// User telemetry
	UserTelemetrySpec *TrinoUserTelemetry

	// Trino worker.
	Worker *TrinoWorker
}

TrinoProfile - Trino Cluster profile.

func (TrinoProfile) MarshalJSON

func (t TrinoProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoProfile.

func (*TrinoProfile) UnmarshalJSON

func (t *TrinoProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoProfile.

type TrinoTelemetryConfig

type TrinoTelemetryConfig struct {
	// Hive Catalog name used to mount external tables on the logs written by trino, if not specified there tables are not created.
	HivecatalogName *string

	// Schema of the above catalog to use, to mount query logs as external tables, if not specified tables will be mounted under
	// schema trinologs.
	HivecatalogSchema *string

	// Retention period for query log table partitions, this doesn't have any affect on actual data.
	PartitionRetentionInDays *int32

	// Azure storage location of the blobs.
	Path *string
}

TrinoTelemetryConfig - Trino user telemetry definition.

func (TrinoTelemetryConfig) MarshalJSON

func (t TrinoTelemetryConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoTelemetryConfig.

func (*TrinoTelemetryConfig) UnmarshalJSON

func (t *TrinoTelemetryConfig) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoTelemetryConfig.

type TrinoUserPlugin

type TrinoUserPlugin struct {
	// Denotes whether the plugin is active or not.
	Enabled *bool

	// This field maps to the sub-directory in trino plugins location, that will contain all the plugins under path.
	Name *string

	// Fully qualified path to the folder containing the plugins.
	Path *string
}

TrinoUserPlugin - Trino user plugin.

func (TrinoUserPlugin) MarshalJSON

func (t TrinoUserPlugin) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoUserPlugin.

func (*TrinoUserPlugin) UnmarshalJSON

func (t *TrinoUserPlugin) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoUserPlugin.

type TrinoUserPlugins

type TrinoUserPlugins struct {
	// Trino user plugins.
	Plugins []*TrinoUserPlugin
}

TrinoUserPlugins - Trino user plugins spec

func (TrinoUserPlugins) MarshalJSON

func (t TrinoUserPlugins) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoUserPlugins.

func (*TrinoUserPlugins) UnmarshalJSON

func (t *TrinoUserPlugins) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoUserPlugins.

type TrinoUserTelemetry

type TrinoUserTelemetry struct {
	// Trino user telemetry definition.
	Storage *TrinoTelemetryConfig
}

TrinoUserTelemetry - User telemetry

func (TrinoUserTelemetry) MarshalJSON

func (t TrinoUserTelemetry) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoUserTelemetry.

func (*TrinoUserTelemetry) UnmarshalJSON

func (t *TrinoUserTelemetry) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoUserTelemetry.

type TrinoWorker

type TrinoWorker struct {
	// Trino debug configuration.
	Debug *TrinoDebugConfig
}

TrinoWorker - Trino worker.

func (TrinoWorker) MarshalJSON

func (t TrinoWorker) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type TrinoWorker.

func (*TrinoWorker) UnmarshalJSON

func (t *TrinoWorker) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type TrinoWorker.

type UpdatableClusterProfile

type UpdatableClusterProfile struct {
	// Authorization profile with details of AAD user Ids and group Ids authorized for data plane access.
	AuthorizationProfile *AuthorizationProfile

	// This is the Autoscale profile for the cluster. This will allow customer to create cluster enabled with Autoscale.
	AutoscaleProfile *AutoscaleProfile

	// Cluster log analytics profile to enable or disable OMS agent for cluster.
	LogAnalyticsProfile *ClusterLogAnalyticsProfile

	// Cluster Prometheus profile.
	PrometheusProfile *ClusterPrometheusProfile

	// Cluster Ranger plugin profile.
	RangerPluginProfile *ClusterRangerPluginProfile

	// The ranger cluster profile.
	RangerProfile *RangerProfile

	// Ssh profile for the cluster.
	SSHProfile *SSHProfile

	// The script action profile list.
	ScriptActionProfiles []*ScriptActionProfile

	// The service configs profiles.
	ServiceConfigsProfiles []*ClusterServiceConfigsProfile
}

UpdatableClusterProfile - Cluster resource patch properties.

func (UpdatableClusterProfile) MarshalJSON

func (u UpdatableClusterProfile) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaller interface for type UpdatableClusterProfile.

func (*UpdatableClusterProfile) UnmarshalJSON

func (u *UpdatableClusterProfile) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaller interface for type UpdatableClusterProfile.

type UpgradeMode added in v0.3.0

type UpgradeMode string

UpgradeMode - A string property that indicates the upgrade mode to be performed on the Flink job. It can have one of the following enum values => STATELESSUPDATE, UPDATE, LASTSTATE_UPDATE.

const (
	UpgradeModeLASTSTATEUPDATE UpgradeMode = "LAST_STATE_UPDATE"
	UpgradeModeSTATELESSUPDATE UpgradeMode = "STATELESS_UPDATE"
	UpgradeModeUPDATE          UpgradeMode = "UPDATE"
)

func PossibleUpgradeModeValues added in v0.3.0

func PossibleUpgradeModeValues() []UpgradeMode

PossibleUpgradeModeValues returns the possible values for the UpgradeMode const type.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL