Terraform-provider-azurerm: Create DevSpaces Controller resource

Created on 4 Jul 2018  ยท  11Comments  ยท  Source: terraform-providers/terraform-provider-azurerm

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

V18.0.0 of azure-sdk-for-go has been released which includes a DevSpace Controller preview.
A resource should be created that will create a DevSpace Controller on Azure.

New or Affected Resource(s)

  • [NEW] azurerm_devspace_controller

Potential Terraform Configuration

resource azurerm_devspace_controller "test" {
    # Mapped to Controller.ResourceGroupName
    resource_group_name = "totally-awesome-rg"
    # Mapped to Controller.Name
    name = "totallyawesomedevspace"
    # Mapped to Controller.Location
    location = "west europe"
    # Mapped to Controller.Type
    type = "Kubernetes" # OR: OrchestratorSpecificConnectionDetails
    # Mapped to Controller.Sku
    sku = "Standard" # No other skus at this time

    properties {
        # Mapped to Controller.ControllerProperties.HostSuffix
        host_suffix = "suffix"
        # Mapped to Controller.ControllerProperties.TargetContainerHostCredentialsBase64
        target_container_host_credentials_base64 = "${base64encode("Base64 Encoded Value")}"
        # Mapped to Controller.ControllerProperties.TargetContainerHostResourceId
        target_container_host_resource_id = "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
    }

    # Mapped to Controller.Tags
    tags = {
        Awesome = "Totally"
    }
}

# Returns:
#   id
#   resource_group_name
#   name
#   location
#   type
#   sku
#   properties.host_suffix
#   properties.data_plane_fqdn
#   properties.target_container_host_credentials_base64
#   properties.target_container_host_resource_id

Note Although OrchestratorSpecificConnectionDetails is included in the InstanceType struct, and there is a ControllerConnectionDetails class, there doesn't currently seem to be a way of including the connection details in the ControllersClient.Create method (or the Controller struct)

Note There is no ControllersClient.CreateOrUpdate method. There is only ControllersClient.Create and ControllersClient.Update

References

new-resource servickubernetes-cluster

Most helpful comment

hi @lfshr

Just to let you know that this has been released as a part of v1.18 of the AzureRM Provider (the full changelog is available here). You can upgrade to this by specifying the version in the provider block (as shown below) and then running terraform init -upgrade

provider "azurerm" {
  version = "=1.18.0"
}

Thanks!

All 11 comments

I'm not sure if this is something to consider while it's still in preview. I just thought I would get the ball rolling on it.

I can't seem to find a way of attaching the controller to the Kubernetes cluster. ๐Ÿ˜•

Edit: Found it. Updated original post.

@lfshr what kind of Preview is this in? We only support functionality once it's in Public Preview (rather than Private Preview) since it means the API is _generally_ unlikely to change dramatically

@tombuildsstuff DevSpaces itself is in public preview (I think) as it's generally available to the public (is that the criteria?)

The dev-spaces page doesn't say whether it's public or private

Azure Dev Spaces is in currently in preview, and is supported only by AKS clusters in the East US, West Europe, and Canada East regions. Previews are made available to you on the condition that you agree to the supplemental terms of use. Some aspects of this feature may change prior to general availability (GA). - https://docs.microsoft.com/en-us/azure/dev-spaces/azure-dev-spaces

@lfshr within Terraform we can use the Create and Update methods in the SDK in separate Create and update methods, rather than a combined operation - as such I think it should be possible to close https://github.com/Azure/azure-rest-api-specs/issues/3352?

@tombuildsstuff DevSpaces itself is in public preview (I think) as it's generally available to the public (is that the criteria?)

From a quick look it _appears_ to be in Public Preview - we define Public Preview as being that users can either self-register for the Beta/Preview, or that it's an open-invite (e.g. users don't need to opt-into anything); anything else we consider a Private/Invite-only Preview and tend to hold off supporting

Hope that helps :)

@tombuildsstuff but consistency. ๐Ÿ˜ข You're probably right, I'm just nit picking. I'll close it.

Ah. Yes, dev-spaces is in public preview then. You can create dev spaces using the new az cli without signing up for anything.

Thanks Tom

Depends on #1434

Dev Spaces Prerequisites:

  • An Azure subscription. If you don't have one, you can create a free account.
  • A Kubernetes cluster running Kubernetes 1.9.6, in the EastUS, WestEurope, or CanadaEast region, with Http Application Routing enabled.

https://docs.microsoft.com/en-us/azure/dev-spaces/quickstart-netcore

Great work @metacpp

Thanks guys ๐Ÿ˜„

hi @lfshr

Just to let you know that this has been released as a part of v1.18 of the AzureRM Provider (the full changelog is available here). You can upgrade to this by specifying the version in the provider block (as shown below) and then running terraform init -upgrade

provider "azurerm" {
  version = "=1.18.0"
}

Thanks!

I'm going to lock this issue because it has been closed for _30 days_ โณ. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error ๐Ÿค– ๐Ÿ™‰ , please reach out to my human friends ๐Ÿ‘‰ [email protected]. Thanks!

Was this page helpful?
0 / 5 - 0 ratings