Exemplo n.º 1
0
 def assign_scaleset_identity_role(self) -> None:
     if self.upgrade:
         logger.info("Upgrading: skipping assignment of the managed identity role")
         return
     logger.info("assigning the user managed identity role")
     assign_scaleset_role(
         self.application_name,
         self.results["deploy"]["scaleset-identity"]["value"],
     )
Exemplo n.º 2
0
    def deploy_template(self):
        logger.info("deploying arm template: %s", self.arm_template)

        with open(self.arm_template, "r") as template_handle:
            template = json.load(template_handle)

        client = get_client_from_cli_profile(ResourceManagementClient)
        client.resource_groups.create_or_update(self.resource_group,
                                                {"location": self.location})

        expiry = (datetime.now(TZ_UTC) +
                  timedelta(days=365)).strftime("%Y-%m-%dT%H:%M:%SZ")
        params = {
            "name": {
                "value": self.application_name
            },
            "owner": {
                "value": self.owner
            },
            "clientId": {
                "value": self.results["client_id"]
            },
            "clientSecret": {
                "value": self.results["client_secret"]
            },
            "signedExpiry": {
                "value": expiry
            },
            "workbookData": {
                "value": self.workbook_data
            },
        }
        deployment = Deployment(
            properties=DeploymentProperties(mode=DeploymentMode.incremental,
                                            template=template,
                                            parameters=params))
        result = client.deployments.create_or_update(self.resource_group,
                                                     gen_guid(),
                                                     deployment).result()
        if result.properties.provisioning_state != "Succeeded":
            logger.error(
                "error deploying: %s",
                json.dumps(result.as_dict(), indent=4, sort_keys=True),
            )
            sys.exit(1)
        self.results["deploy"] = result.properties.outputs

        logger.info("assigning the user managed identity role")
        assign_scaleset_role(
            self.application_name,
            self.results["deploy"]["scaleset-identity"]["value"])