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"], )
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"])