Merge branch 'master' into release203
This commit is contained in:
Коммит
fbb9569424
58
.travis.yml
58
.travis.yml
|
@ -1,36 +1,36 @@
|
|||
language: go
|
||||
sudo: false
|
||||
go:
|
||||
- 1.x
|
||||
- 1.11.x
|
||||
- 1.x
|
||||
- 1.11.x
|
||||
before_install:
|
||||
- cd ${TRAVIS_HOME}
|
||||
- export GO111MODULE=auto
|
||||
- go get -u github.com/mattn/goveralls
|
||||
- go get -u golang.org/x/tools/cmd/cover
|
||||
- go get -u github.com/fzipp/gocyclo
|
||||
- go get -u golang.org/x/lint/golint
|
||||
- cd ${TRAVIS_BUILD_DIR}
|
||||
- cd ${TRAVIS_HOME}
|
||||
- export GO111MODULE=auto
|
||||
- go get -u github.com/mattn/goveralls
|
||||
- go get -u golang.org/x/tools/cmd/cover
|
||||
- go get -u github.com/fzipp/gocyclo
|
||||
- go get -u golang.org/x/lint/golint
|
||||
- cd ${TRAVIS_BUILD_DIR}
|
||||
jobs:
|
||||
include:
|
||||
- stage: integration tests
|
||||
if: type IN (push, cron)
|
||||
env:
|
||||
- TF_VAR_resource_group_name=eh-travis
|
||||
- secure: IWLgsNBMMDBjJSLRixla9jqiTm3xeERnPiECt+PdjUH3ZevyLOR1tX1Q2V6WS9afFsoddM5QpvqXF50UpNzD2WwnE492syL4x0rHfMhV4aZcN82zrMuggYAenLINfBYcryciGgTtPK767vdU3sbqNl7Nkz0lGd/SYqvgCCd9djMZfG5OccuMm1m/v7VCf0BwJgbk6wH0+J+YocFPpROkvIfPiclJIB+o1ejp8odYsbV2ZO144i7AM18oeEt13iBKz8kIXEf2/xZZ7nZu33VYqpp9K7gRc83ORDZSaKBb+SwtnnaXBrcAKayeJCfsumkPh94eFFqogfOiC2iZg07B1ojQir+n2bgPpBO6Fa4G+A1i7sVotYTmzmBNX7I8K4+0F5U96srtrFWHO13X/2OKxTNRBv2w6rf5Sz8AD7mnuLhAHxXTXdlYAiQ8CaKpUIPhzJBF9A/Ax3fPbSLAvUBGcP/9uTV3NvGQynVaSF0D4DzI3X3hRjuTso14b0EYY5wuBaikenILH+POoTaGSu0/VHQwBvx47K3/GjOX9vt0yOsqFO08uYL5Vho+BSEHy+ZiifpZrXsg9r+OBcxciQv6kLIDC2j13qptFK0liqknMxjB0YSpVqQGRxs5E4Ld5iKGtxDgx2A/VFxsUa86V1wkRlPUvh0BRXwJaYhEJ3GwsDQ=
|
||||
- secure: q2/2LT3wVgWbjdEBi6hl1kqH+81GchibIyZNObAIEywgA2g33YzvosqvKoPaOHIGbuv9x3bOO4koHH1P/juwAzO9VElyf5XiRiB6ztjykzFYWfVTpZewngZjEP/qpMhh4akODpGjqXahfy3anED2quZ0jjNNQkVY5WvLFbDRW7RCg/sW6AjjLldYFCclxVLyDgIOjWG/vGnu0Qrn9incUiHLEwqm0DR2iiOEs/8jXYXd7LTQVPGnq9jWX4m+9jfgNzEi9Bqns/bB5yr4JFl41Bm+8p8+kjCk2mq2wE5Q2n+QwVgy4uq2GEdyLF/UKglLA5T4bwBByNlwENDnKpDVgdjEwOzeaoLLSSFnWLcfVuDkH6ZS7EYQKU7Q8lszeqKI+rBS37mp2BUR7A/csNzN5tTzLWoRWnd1j66J6y7bzlg5jPkLwndV2qoStssT78kLyZw7jAg5S/+B3iujQS9GaicJTc+h7Or1QS9c/sd4t8VtsDDK+kildSpvvfSRNbtQzCMhwcPEVc7f5LTGSz82mimejjp4j6Pr3iZDUgVPMZi/npLVeZyXSovuvE+gdzssdH+cyjDkx8YYVhI1grefxKrHRKXaqcMP8J3VGFlGOCPQwBTNj1VSWtCdDsj51O6kIaqqPQ1Rcbf8wQ7e0n5cO1WOECkLkgGYkY0/B439ZYg=
|
||||
- secure: f+xDBxiUHEvQlMid5EID640omZYFzOrr6AAw2pNJ8fv9cMoaFw1mO07KmA4zrA+mzeE9ixLhPbbGvK0/WtJ3G4DHOLyYUJHFd4eKzhhTpWCNz8c3U57qY4mHJpiYEAEgraSAUAsP78brJVolvdZnxbdVuyW7xp7t9ckOUupevKQx1FlOPfeCiaMI852DZwoGckli23nzCl9If8voEG6fDjnJktwrGQfxrKu2CPAlpWUydghTnabhHVovwExYm7lLQY8Z7VjoTydfV2BQBuGsTr6/6PtUlMjFJbxK7ayR2mk565pzLjZmVUwBYRfbTbjWd+LFtQSLoVEI5RoHc9n48fHB7z68nRkkQ2/LQCeYnrj5RCaPgdfM81qbR0RT0sUm/lyqPNUuimPwkjQLEY7DCAkCGFoI1zPkM1ttQcClMmq+hQY5PGHREccLAyhhbiyGDzlw1UgVOoiwT4uxuzegliPsaGCmPaOMZxVOnh3QSjtWVkXukixPWmKRF7NyvRdZkTS7Uf3/SNcOTRYA32X72jXRUvv6mh6igKJgm3o5exXaf+kG1KKTxmNXjKYcRpQd6jGKa9ahM1Efw+G9RD+e7EDSIm/nr2b6Hu/m+KxDLgwxv3okrNXlLBP6CJK0nPeXRGcNqhNhTbT26Ui7l9cIxggrk5fGmNs8AuCMZL76KTU=
|
||||
- secure: XqkiUC+7iRfR68FuRcGfKy4pa7HaKermLZoDeC657eUGtCgZyvItM4sbQQOkKa7sP7OPJKD7dz1mFFQvuzrJKlgP3JrMJ+IBaYQ1nq0qt4RBQ0LP0s9/0MUkmMmCAXANdHXsWN9ecIIeJNK0RC/zZEHAwxFG0CO4uM0smvimAbc6sLLewADdU5SRwp0/T6IqTCU+EEbkw/RlSttggDxGrxEjBcsoSfouRTCUKPsy/68a+JF5ONMmiS9uHko/FRF+Oyfhd1uORPVCJdyEkGM/zqO3s0vC9iSQLLYRdT+g1eHaa+/DrK6PXQtKoh9khijNbZn1q+1AQqlJhG1k8I2PS77YPasYaB1zUbFtD38pcSLsDk+Y/bN0VX9D1enN6yp3oIt5+6DnlZS9xfhArttZqEqo8axB9zbpSxILvnIT0eosqbL+AAL74dWiL6+4vbmmEf7PAI1xuCAZUKoAxeQPyHuzvqKlJJ63wHAYMNXfRVdLfAr/kDCcoXXr8xgFq9E0m8hAkCgiGTuXf7hCLczjkjYh0xbkUDuguLGCSCDy/Q39toeTZmSVkJs18E+v3j1/pQXeFJpsMHUBZteNOY+BP02CNlK5Zi+WfGNx5y+38JKd3c7Eykx5Lrg8pDlsuE+b5xJaPV3sGFgktI1dPH4obk7RWKTqvEN/IyFwhOsdcJE=
|
||||
script:
|
||||
- curl -sLo /tmp/terraform.zip https://releases.hashicorp.com/terraform/0.11.10/terraform_0.11.10_linux_amd64.zip
|
||||
- unzip /tmp/terraform.zip -d /tmp
|
||||
- mkdir -p ~/bin
|
||||
- mv /tmp/terraform ~/bin
|
||||
- export PATH="~/bin:$PATH"
|
||||
- export GO111MODULE=on
|
||||
- make test-cover
|
||||
- goveralls -coverprofile=cover.out -service=travis-ci
|
||||
- make destroy
|
||||
- stage: integration tests
|
||||
if: type IN (push, cron)
|
||||
env:
|
||||
- TF_VAR_resource_group_name=eh-travis
|
||||
- secure: Gytv/BG8PzkBU845teKJdci1RbYzuHn4slhYIQEEZ8r0hvb57YtPD1NUBLWzndj3qrmhJceRkDyKd3gfAIrvLFEp0rD+4E5S2lTjOST4OZRaN8HKKA8dtc1PYlcF1Hr4wA4rx69oKVBncdQYZXE2Sdnx3QwuWnT1G2B3PYvnb1Ess16/4Z4PDZL4Jp2KTubV5nZd70zBJzEkaem4FE/x8pAqKsaNLNuabYRjywzNwcrKqUAYuiy1BaYD/XxKDQ/dNfGEK3gXitNqWqNURghGBlE3e0x++mwIWvW3b8wP+JyvUv3vM6FS7+Rw8qz8XhaG820Sqs8eM4GUxX9BttOOR5KpzbBYH0KgygE3Axo5saktpqImBB0gKi2fNqT7YvdU+peMLIVipsxPHdO0CEgvgFPLIkMdpaXYyjQJWNDDukcRpu+/LVCQRb5Fh8jTS1z8U59sdgW3Ld5YVw6Jt0vO4mNfA799o7yzWlO3a5ZLJotQtXm6WCwOq7IE5m3ObQYbi1YWAlBXuTuHPk4fCSTQJDUkFi4jDSnN4xqlItk+URilyAt+Vs5OuRAztfM/o4/TEjdkXx0T/veZ3eibksdSnYAgHQPCQ6MqeWAk4AKrIJysPQuyPhNo2ye5jh/aozL6VYE9dcft3+RAwp6jQAtP/pv8SpsTkWuC7LnSeJvMa6c=
|
||||
- secure: eVK61SdkKa+KeIs7iJ0tCWnVlj/BSdc6Yepk42chtRdmikzaXSSvyoRplKJoFutpkSLd0TPIR6GleaXf76RAIarxtSfOuZ5cKtCXQ84W8e+nAdeeOyByYHm75SfJzbbDR5L0pTfeiBfjYndeV176fRRZJprDwRSLQ2NfTYhqaliI1sjVQV2if5fe/oR99UL5Ocvr2ubmXAt3KOk+RZ0WyPQAjRIpIc1VziYZ1uwHVyIqkD7g76yfHy+ENvTVT48jv+3HpC120h7aufeirsbo1zBYrIdIE/Y02ISdUWWc+uXn1qbQnpwOtyjksUNVvzQyBicI8FGKhQSxMzkLZyvBXon7Pbkr6BVmSXX916QyvigqAeDDHIBkbHO/oNaKgtxBHiM2yymfYG9HkUzM/bKIA7+g2eVGHiPPn7tk5Ytgf10Q7ZPH1epvhaHnQduw2sDVWybOfw9h+hwgkUYWBsyo7xlvwM5eyCX7Nntg6K2vu8fCiSNAPlZLhex89H8DBb2BlhXQDEGX7QTRo+SYuY/JKhW9HeWiDcRLPxGEeTkh4ZrLdjZeKpFF9Bcuxqk3iaD3+CsCnqI/542Y2HT5zw7qCMbXZYwaXW90VYFysuOh1pgRoZ5kwSyH1mD/o+xLXfuV0AJlzyraZZes/83TsKF611AlynPbEQD5BGv/Noo9JAE=
|
||||
- secure: ja4Qu9OkHPzpGTSbsMf7WyBT5b1uYtdfLH7ehCzsPXUBbOqsJw1f4Nzgmzh0xvNMbL2AlOGqWwU6HJXb3Cn3ehTTsaiQz6BrBW6A1OmNOuup6m2nQ8BeuFD8lPTj6DcHTEldIn6aOP5ZcIp5OnUxIluxj4Nh3BR495L+YF3X07VCgH4G+RwcSiRMorrDinkwHjDozHZcMaQJ7HD/TYW6uaqcWzmJTaFFlUK2pMPvh9jgQ5L+xQwpi09t2J5mPcSL2HptlSkSnNISzYp3qT33dNGJcj+4zM7NGsYSCBDII6G/wOIdNhNKFb4lKSXUdg/5uWDESAkKK9vveDGwdPVGZXXx16fcQ2QTsQbTSLBfGT4nTYadiNvSJgUSLykZitg4RppdYHHBiQu7UYUk03KpbSJjQct4Lqbnhw9uLEk68rXzis/MayOuGpL1bimB3+13h3/QoXEaHOGiOVsE9/UUYmpYQZYbdnkzBiEF7oPkoxTNjuzdYt2SQLvQeOah4qkHy3oH83c8EcU+aPMEWCc3yTkqY75VATyIa/TP3rySAFcogq/Kd4aDUWwcxO4u1B2TD8UNE5YqftWo97Heo6lE+kAr1FfhxS6cwuWMTfQ5KwgFv+Qlgb71zlP3T/Yn5kPdGY0kwoqiEmq5hjcjOHLLYYvBsYPfAmtQMKSe2fFZ53Q=
|
||||
- secure: SPYzI+Fyzbf0blXoX7vSCWcgPfTQnkNy1jSNps68a0dy1yE3WAc/AEgV4wcwgFjV7WkMIX9ik0q5ggbiVgMw1nQA4U6K8n7yJsqI+s0GGEdE1Y1HBCWIMJw1JazTHI2qRg69UiVj2xI1LPvTFGgxClGnZoPCh9dxlMPO6M2f90mJUKVNxkjuLe1BWnLyzyGZnhB/EEam39ijOVnkfXdwcN4nGUjMsEwi5rOQLeZsymgKqN2aMeXtZltTeertO4ob8K2hGinNHjkYzjyFSCZvGaubnVr22F777YDCvh0cq7CTRQiMm1KiHT9QZ/0JbvsfC+0TPl0lXnLx6NnMvlKL5sA6xpFcarO4nGB4jON5SnVPF+3VW0BSyfypFHAn/fSSmftqg8TI7uSGuOJauG2ld/1e1v9WPkY56frC2ULVWt7eZFOpIm9JoosCjKgwQjx320VwJgKW8xJ4ynAPqFVVlZCdQEs+NJGOOJi1NkDpd++QolgKFkPdkBNFmVYRPdVe/iRzaipZ2WOX94sg+5CfA5TcZTz2fvDJHyNgqEkVUS9VHWDB75nkJ8vq1b8G9+wM/ulAsdepjaPlatd0pGeVJzt1IwJFDUgddCEXHub0HXuJk2kE7V/i1h0E4kcfQq8HFEJaG1tsWe2kA+OBX58pCZWXmDB2KshGWW9tlWzwRlo=
|
||||
script:
|
||||
- curl -sLo /tmp/terraform.zip https://releases.hashicorp.com/terraform/0.12.8/terraform_0.12.8_linux_amd64.zip
|
||||
- unzip /tmp/terraform.zip -d /tmp
|
||||
- mkdir -p ~/bin
|
||||
- mv /tmp/terraform ~/bin
|
||||
- export PATH="~/bin:$PATH"
|
||||
- export GO111MODULE=on
|
||||
- make test-cover
|
||||
- goveralls -coverprofile=cover.out -service=travis-ci
|
||||
- make destroy
|
||||
script:
|
||||
- export GO111MODULE=on
|
||||
- make
|
||||
- export GO111MODULE=on
|
||||
- make
|
||||
|
|
2
Makefile
2
Makefile
|
@ -66,7 +66,7 @@ cyclo: ; $(info $(M) running gocyclo...) @ ## Run gocyclo on all source files
|
|||
|
||||
terraform.tfstate: azuredeploy.tf $(wildcard terraform.tfvars) .terraform ; $(info $(M) running terraform...) @ ## Run terraform to provision infrastructure needed for testing
|
||||
$Q TF_VAR_azure_client_secret="$${ARM_CLIENT_SECRET}" terraform apply -auto-approve
|
||||
$Q terraform output > .env
|
||||
$Q terraform output -json | jq -r 'keys[] as $$k | "\($$k) = \(.[$$k].value)"' > .env
|
||||
|
||||
.terraform:
|
||||
$Q terraform init
|
||||
|
|
121
azuredeploy.tf
121
azuredeploy.tf
|
@ -1,8 +1,20 @@
|
|||
provider "azuread" {
|
||||
version = "~> 0.6"
|
||||
}
|
||||
|
||||
provider "azurerm" {
|
||||
version = "~> 1.34"
|
||||
}
|
||||
|
||||
provider "random" {
|
||||
version = "~> 2.2"
|
||||
}
|
||||
|
||||
variable "location" {
|
||||
# eastus support AAD authentication, which at the time of writing this is in preview.
|
||||
# see: https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-role-based-access-control
|
||||
description = "Azure datacenter to deploy to."
|
||||
default = "eastus"
|
||||
description = "Azure datacenter to deploy to."
|
||||
default = "eastus"
|
||||
}
|
||||
|
||||
variable "eventhub_name_prefix" {
|
||||
|
@ -21,7 +33,8 @@ variable "azure_client_secret" {
|
|||
}
|
||||
|
||||
# Data resources used to get SubID and Tennant Info
|
||||
data "azurerm_client_config" "current" {}
|
||||
data "azurerm_client_config" "current" {
|
||||
}
|
||||
|
||||
resource "random_string" "name" {
|
||||
length = 8
|
||||
|
@ -32,29 +45,29 @@ resource "random_string" "name" {
|
|||
|
||||
# Create resource group for all of the things
|
||||
resource "azurerm_resource_group" "test" {
|
||||
name = "${var.resource_group_name_prefix}-${random_string.name.result}"
|
||||
location = "${var.location}"
|
||||
name = "${var.resource_group_name_prefix}-${random_string.name.result}"
|
||||
location = var.location
|
||||
}
|
||||
|
||||
# Create an Event Hub namespace for testing
|
||||
resource "azurerm_eventhub_namespace" "test" {
|
||||
name = "${var.eventhub_name_prefix}-${random_string.name.result}"
|
||||
location = "${azurerm_resource_group.test.location}"
|
||||
resource_group_name = "${azurerm_resource_group.test.name}"
|
||||
location = azurerm_resource_group.test.location
|
||||
resource_group_name = azurerm_resource_group.test.name
|
||||
sku = "standard"
|
||||
}
|
||||
|
||||
resource "azurerm_storage_account" "test" {
|
||||
name = "${var.eventhub_name_prefix}${random_string.name.result}"
|
||||
resource_group_name = "${azurerm_resource_group.test.name}"
|
||||
location = "${azurerm_resource_group.test.location}"
|
||||
account_replication_type = "LRS"
|
||||
account_tier = "Standard"
|
||||
name = "${var.eventhub_name_prefix}${random_string.name.result}"
|
||||
resource_group_name = azurerm_resource_group.test.name
|
||||
location = azurerm_resource_group.test.location
|
||||
account_replication_type = "LRS"
|
||||
account_tier = "Standard"
|
||||
}
|
||||
|
||||
# Generate a random secret fo the service principal
|
||||
resource "random_string" "secret" {
|
||||
count = "${data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0}"
|
||||
count = data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0
|
||||
length = 32
|
||||
upper = true
|
||||
special = true
|
||||
|
@ -62,48 +75,48 @@ resource "random_string" "secret" {
|
|||
}
|
||||
|
||||
// Application for AAD authentication
|
||||
resource "azurerm_azuread_application" "test" {
|
||||
count = "${data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0}"
|
||||
name = "eventhubstest"
|
||||
homepage = "https://eventhubstest"
|
||||
identifier_uris = ["https://eventhubstest"]
|
||||
reply_urls = ["https://eventhubstest"]
|
||||
available_to_other_tenants = false
|
||||
oauth2_allow_implicit_flow = true
|
||||
resource "azuread_application" "test" {
|
||||
count = data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0
|
||||
name = "eventhubstest"
|
||||
homepage = "https://eventhubstest"
|
||||
identifier_uris = ["https://eventhubstest"]
|
||||
reply_urls = ["https://eventhubstest"]
|
||||
available_to_other_tenants = false
|
||||
oauth2_allow_implicit_flow = true
|
||||
}
|
||||
|
||||
# Create a service principal, which represents a linkage between the AAD application and the password
|
||||
resource "azurerm_azuread_service_principal" "test" {
|
||||
count = "${data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0}"
|
||||
application_id = "${azurerm_azuread_application.test.application_id}"
|
||||
resource "azuread_service_principal" "test" {
|
||||
count = data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0
|
||||
application_id = azuread_application.test[0].application_id
|
||||
}
|
||||
|
||||
# Create a new service principal password which will be the AZURE_CLIENT_SECRET env var
|
||||
resource "azurerm_azuread_service_principal_password" "test" {
|
||||
count = "${data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0}"
|
||||
service_principal_id = "${azurerm_azuread_service_principal.test.id}"
|
||||
value = "${random_string.secret.result}"
|
||||
end_date = "2030-01-01T01:02:03Z"
|
||||
}
|
||||
|
||||
# This provides the new AAD application the rights to managed, send and receive from the Event Hubs instance
|
||||
resource "azurerm_role_assignment" "service_principal_eh" {
|
||||
count = "${data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0}"
|
||||
scope = "subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${azurerm_resource_group.test.name}/providers/Microsoft.EventHub/namespaces/${azurerm_eventhub_namespace.test.name}"
|
||||
role_definition_name = "Owner"
|
||||
principal_id = "${azurerm_azuread_service_principal.test.id}"
|
||||
resource "azuread_service_principal_password" "test" {
|
||||
count = data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0
|
||||
service_principal_id = azuread_service_principal.test[0].id
|
||||
value = random_string.secret[0].result
|
||||
end_date = "2030-01-01T01:02:03Z"
|
||||
}
|
||||
|
||||
# This provides the new AAD application the rights to managed the resource group
|
||||
resource "azurerm_role_assignment" "service_principal_rg" {
|
||||
count = "${data.azurerm_client_config.current.service_principal_application_id == "" ? 1 : 0}"
|
||||
scope = "subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${azurerm_resource_group.test.name}"
|
||||
role_definition_name = "Owner"
|
||||
principal_id = "${azurerm_azuread_service_principal.test.id}"
|
||||
scope = "subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${azurerm_resource_group.test.name}"
|
||||
role_definition_name = "Owner"
|
||||
principal_id = data.azurerm_client_config.current.service_principal_application_id == "" ? azuread_service_principal.test[0].id : data.azurerm_client_config.current.service_principal_object_id
|
||||
}
|
||||
|
||||
# This provides the new AAD application the rights to managed, send and receive from the Event Hubs instance
|
||||
resource "azurerm_role_assignment" "service_principal_eh" {
|
||||
scope = "subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${azurerm_resource_group.test.name}/providers/Microsoft.EventHub/namespaces/${azurerm_eventhub_namespace.test.name}"
|
||||
role_definition_name = "Azure Event Hubs Data Owner"
|
||||
principal_id = data.azurerm_client_config.current.service_principal_application_id == "" ? azuread_service_principal.test[0].id : data.azurerm_client_config.current.service_principal_object_id
|
||||
depends_on = [azurerm_eventhub_namespace.test]
|
||||
}
|
||||
|
||||
|
||||
output "TEST_EVENTHUB_RESOURCE_GROUP" {
|
||||
value = "${azurerm_resource_group.test.name}"
|
||||
value = azurerm_resource_group.test.name
|
||||
}
|
||||
|
||||
output "EVENTHUB_CONNECTION_STRING" {
|
||||
|
@ -112,30 +125,40 @@ output "EVENTHUB_CONNECTION_STRING" {
|
|||
}
|
||||
|
||||
output "EVENTHUB_NAMESPACE" {
|
||||
value = "${azurerm_eventhub_namespace.test.name}"
|
||||
value = azurerm_eventhub_namespace.test.name
|
||||
}
|
||||
|
||||
output "AZURE_SUBSCRIPTION_ID" {
|
||||
value = "${data.azurerm_client_config.current.subscription_id}"
|
||||
value = data.azurerm_client_config.current.subscription_id
|
||||
}
|
||||
|
||||
output "TEST_EVENTHUB_LOCATION" {
|
||||
value = "${var.location}"
|
||||
value = var.location
|
||||
}
|
||||
|
||||
output "AZURE_TENANT_ID" {
|
||||
value = "${data.azurerm_client_config.current.tenant_id}"
|
||||
value = data.azurerm_client_config.current.tenant_id
|
||||
}
|
||||
|
||||
output "AZURE_CLIENT_ID" {
|
||||
value = "${element(compact(concat(azurerm_azuread_application.test.*.application_id, list(data.azurerm_client_config.current.client_id))),0)}"
|
||||
value = compact(
|
||||
concat(
|
||||
azuread_application.test.*.application_id,
|
||||
list(data.azurerm_client_config.current.client_id)
|
||||
)
|
||||
)[0]
|
||||
}
|
||||
|
||||
output "AZURE_CLIENT_SECRET" {
|
||||
value = "${element(compact(concat(azurerm_azuread_service_principal_password.test.*.value, list(var.azure_client_secret))),0)}"
|
||||
value = compact(
|
||||
concat(
|
||||
azuread_service_principal_password.test.*.value,
|
||||
list(var.azure_client_secret)
|
||||
)
|
||||
)[0]
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "STORAGE_ACCOUNT_NAME" {
|
||||
value = "${azurerm_storage_account.test.name}"
|
||||
value = azurerm_storage_account.test.name
|
||||
}
|
||||
|
|
1
batch.go
1
batch.go
|
@ -43,6 +43,7 @@ const (
|
|||
DefaultMaxMessageSizeInBytes MaxMessageSizeInBytes = 1000000
|
||||
|
||||
batchMessageWrapperSize = 100
|
||||
// KeyOfNoPartitionKey is the key value in Events map for Events which do not have PartitionKey
|
||||
KeyOfNoPartitionKey = "NoPartitionKey"
|
||||
)
|
||||
|
||||
|
|
2
go.mod
2
go.mod
|
@ -1,5 +1,7 @@
|
|||
module github.com/Azure/azure-event-hubs-go/v2
|
||||
|
||||
go 1.13
|
||||
|
||||
require (
|
||||
github.com/Azure/azure-amqp-common-go/v2 v2.1.0
|
||||
github.com/Azure/azure-pipeline-go v0.1.9
|
||||
|
|
Загрузка…
Ссылка в новой задаче