Terraform-provider-azuredevops: [Feature request] Add support for custom service endpoints

Created on 7 Aug 2020  路  4Comments  路  Source: microsoft/terraform-provider-azuredevops

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

Add support for custom service endpoints. For example I'd like to define a SonarCloud service endpoint.

New or Affected Resource(s)

  • azuredevops_serviceendpoint_custom

Potential Terraform Configuration

resource "azuredevops_serviceendpoint_custom" "SonarCloud" {
  project_id   = azuredevops_project.project.id
  service_endpoint_name  = "Sample Docker Hub"

  configuration = <<XML
<content>
</content>
XML

}
new-feature

Most helpful comment

@xuzhang3 This is a bit of a "me too", but I wanted to point out that ~1/3 of the PRs and most of the feature requests are related to service endpoints. Adding this feature would provide all of them a decent workaround.

All 4 comments

Hi @DamonStamper Since service have abstract the API at high level schema. I think it's a good idea to support custom configuration for service connections.
Get Service connections API
Configuration example:

type ServiceEndpoint struct {
    // Gets or sets the identity reference for the administrators group of the service endpoint.
    AdministratorsGroup *webapi.IdentityRef `json:"administratorsGroup,omitempty"`
    // Gets or sets the authorization data for talking to the endpoint.
    Authorization *EndpointAuthorization `json:"authorization,omitempty"`
    // Gets or sets the identity reference for the user who created the Service endpoint.
    CreatedBy *webapi.IdentityRef `json:"createdBy,omitempty"`
    Data      *map[string]string  `json:"data,omitempty"`
    // Gets or sets the description of endpoint.
    Description *string `json:"description,omitempty"`
    // This is a deprecated field.
    GroupScopeId *uuid.UUID `json:"groupScopeId,omitempty"`
    // Gets or sets the identifier of this endpoint.
    Id *uuid.UUID `json:"id,omitempty"`
    // EndPoint state indicator
    IsReady *bool `json:"isReady,omitempty"`
    // Indicates whether service endpoint is shared with other projects or not.
    IsShared *bool `json:"isShared,omitempty"`
    // Gets or sets the friendly name of the endpoint.
    Name *string `json:"name,omitempty"`
    // Error message during creation/deletion of endpoint
    OperationStatus interface{} `json:"operationStatus,omitempty"`
    // Owner of the endpoint Supported values are "library", "agentcloud"
    Owner *string `json:"owner,omitempty"`
    // Gets or sets the identity reference for the readers group of the service endpoint.
    ReadersGroup *webapi.IdentityRef `json:"readersGroup,omitempty"`
    // Gets or sets the type of the endpoint.
    Type *string `json:"type,omitempty"`
    // Gets or sets the url of the endpoint.
    Url *string `json:"url,omitempty"`
}

Screen Shot 2020-09-10 at 14 03 38

Is there any support for "Other git" as of now?

@paulbehrisch You can open a new issue for your requirement, I will put it in our backlog.

@xuzhang3 This is a bit of a "me too", but I wanted to point out that ~1/3 of the PRs and most of the feature requests are related to service endpoints. Adding this feature would provide all of them a decent workaround.

Was this page helpful?
0 / 5 - 0 ratings