def __init__(self, dns_name, application, deployment_selector, target_port, whitelist=["0.0.0.0/0"], visibility=ExternalRouteVisibility.VISIBILITY_WORLD, name=None): self._object_name = name if not name: self._object_name = generate_hash("{}-{}-{}".format( dns_name, application, deployment_selector)) self.dns_name = dns_name[:-1] if dns_name.endswith(".") else dns_name self.application = application self.deployment_selector = deployment_selector self.target_port = target_port self.whitelist = whitelist assert visibility == ExternalRouteVisibility.VISIBILITY_WORLD or visibility == ExternalRouteVisibility.VISIBILITY_ORGANIZATION, \ "External routes can only have visibility of \"{}\" or \"{}\"".format(ExternalRouteVisibility.VISIBILITY_WORLD, ExternalRouteVisibility.VISIBILITY_ORGANIZATION) self.visibility = visibility self.ax_meta = { "dns_name": self.dns_name, "application": self.application, "deployment_selector": self.deployment_selector, "target_port": self.target_port, "whitelist": self.whitelist, "visibility": self.visibility } self.ingress_target = IngressProvider.EXTERNAL if self.visibility == ExternalRouteVisibility.VISIBILITY_WORLD else IngressProvider.INTERNAL
def __init__(self, cfg_ns, cfg_name, workflow_step, namespace_step): self.namespace_step = namespace_step self._orig_secret_name = ConfigToSecret(cfg_ns, cfg_name).gen_name() self._step_secret_name = generate_hash("config-{}-{}".format( workflow_step, self._orig_secret_name)) self._manager = SecretsManager() self.ax_meta = { "config_namespace": cfg_ns, "config_name": cfg_name, "step_name": workflow_step, "step_namespace": namespace_step }
if __name__ == "__main__": parser = argparse.ArgumentParser(description='Managed ELB creator') parser.add_argument('--version', action='version', version="%(prog)s {}".format(__version__)) parser.add_argument('--private', action='store_true') # default to true parser.add_argument('--force', action='store_true') # default to false parser.add_argument('--delete', action='store_true') args = parser.parse_args() # generate server certificate name_id = get_name_id() if not name_id: raise ValueError("Cannot get the name and id of cluster. Please report this error to Applatix.") suffix = "ing-pri" if args.private else "ing-pub" unique_name = generate_hash("{}-{}".format(name_id, suffix))[:32] print("Unique name for ELB using cluster name and id: {}".format(unique_name)) cert = ServerCert(unique_name) if not args.delete: print("Generating cert for ELB") arn = cert.generate_certificate() if args.delete: delete_elb(unique_name) print("ELB {} deleted successfully".format(unique_name)) print("Deleting cert for ELB") cert.delete_certificate() sys.exit(0) if not args.force and unique_name in list_elbs(): print("Not creating ELB {} as it already exists. Use the --force flag to recreate it")
def get_elb_name(name_id, prefix): return generate_hash("{}-{}".format(name_id, prefix))[:32]
def _generate_node_route_name(self, application, deployment): return generate_hash("NRV1-{}-{}-{}".format(application, deployment, self.name))
def gen_name(self): return generate_hash("config-{}-{}".format(self.namespace, self.name))