def main(): parser = argparse.ArgumentParser(prog='change-deployment-password.py') parser.add_argument('--admin-username', default='admin', help='Name of a user with administrative access to Cloudera Director (defaults to %(default)s)') parser.add_argument('--admin-password', default='admin', help='Password for the administrative user (defaults to %(default)s)') parser.add_argument('--server', default='http://localhost:7189', help="Cloudera Director server URL (defaults to %(default)s)") parser.add_argument('--debug', default=False, action='store_true', help="Whether to provide additional debugging output (defaults to %(default)s)") parser.add_argument('--environment', help='Environment name', required=True) parser.add_argument('--deployment', help='Deployment name (Cloudera Manager instance)', required=True) parser.add_argument('--deployment-username', help='Cloudera Manager new username', default=None) parser.add_argument('--deployment-password', help='Cloudera Manager new password', default=None) args = parser.parse_args() if args.debug: # Enable HTTP request logging to help with debugging h = urllib2.HTTPHandler(debuglevel=1) opener = urllib2.build_opener(h) urllib2.install_opener(opener) client = get_authenticated_client(args) api = DeploymentsApi(client) template = api.getTemplateRedacted(args.environment, args.deployment) if template.port == 0: template.port = None if args.deployment_username: print "Changing username from: '%s' to: '%s'" % (template.username, args.deployment_username) template.username = args.deployment_username else: print "The deployment username is not changing: '%s'" % template.username if args.deployment_password: print "Changing password to: '%s'" % (args.deployment_password) template.password = args.deployment_password else: print "Deployment password is not changing" if args.deployment_username or args.deployment_password: api.update(args.environment, args.deployment, template) print 'Done' else: print 'Nothing to do' return 0
def get_deployment_template(client, env_name, dep_name): """ Get a deployment template. @param client: Director API client @param env_name: environment name @param dep_name: deployment name @rtype: DeploymentTemplate @return: deployment template """ api = DeploymentsApi(client) try: return api.getTemplateRedacted(env_name, dep_name) except HTTPError as error: if error.code == 404: print 'Error: the deployment %s does not exist in the environment %s' % ( env_name, dep_name) else: raise error
def main(): parser = argparse.ArgumentParser(prog='change-deployment-password.py') parser.add_argument( '--admin-username', default='admin', help= 'Name of a user with administrative access to Cloudera Altus Director (defaults to %(default)s)' ) parser.add_argument( '--admin-password', default='admin', help='Password for the administrative user (defaults to %(default)s)') parser.add_argument( '--server', default='http://localhost:7189', help="Cloudera Altus Director server URL (defaults to %(default)s)") parser.add_argument( '--debug', default=False, action='store_true', help= "Whether to provide additional debugging output (defaults to %(default)s)" ) parser.add_argument('--environment', help='Environment name', required=True) parser.add_argument('--deployment', help='Deployment name (Cloudera Manager instance)', required=True) parser.add_argument('--deployment-username', help='Cloudera Manager new username', default=None) parser.add_argument('--deployment-password', help='Cloudera Manager new password', default=None) args = parser.parse_args() if args.debug: # Enable HTTP request logging to help with debugging h = urllib2.HTTPHandler(debuglevel=1) opener = urllib2.build_opener(h) urllib2.install_opener(opener) client = get_authenticated_client(args) api = DeploymentsApi(client) template = api.getTemplateRedacted(args.environment, args.deployment) if template.port == 0: template.port = None if args.deployment_username: print "Changing username from: '%s' to: '%s'" % ( template.username, args.deployment_username) template.username = args.deployment_username else: print "The deployment username is not changing: '%s'" % template.username if args.deployment_password: print "Changing password to: '%s'" % (args.deployment_password) template.password = args.deployment_password else: print "Deployment password is not changing" if args.deployment_username or args.deployment_password: api.update(args.environment, args.deployment, template) print 'Done' else: print 'Nothing to do' return 0