Ejemplo n.º 1
0
Archivo: cli.py Proyecto: zeronewb/maas
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             profile["description"] = fetch_api_description(url)
             config[profile_name] = profile
Ejemplo n.º 2
0
Archivo: cli.py Proyecto: zeronewb/maas
 def __call__(self, options):
     # Try and obtain credentials interactively if they're not given, or
     # read them from stdin if they're specified as "-".
     credentials = obtain_credentials(options.url, options.credentials)
     # Check for bogus credentials. Do this early so that the user is not
     # surprised when next invoking the MAAS CLI.
     if credentials is not None:
         try:
             valid_apikey = check_valid_apikey(
                 options.url, credentials, options.insecure)
         except UnexpectedResponse as e:
             raise SystemExit("%s" % e)
         else:
             if not valid_apikey:
                 raise SystemExit("The MAAS server rejected your API key.")
     # Get description of remote API.
     description = fetch_api_description(options.url, options.insecure)
     # Save the config.
     profile_name = options.profile_name
     with ProfileConfig.open() as config:
         config[profile_name] = {
             "credentials": credentials,
             "description": description,
             "name": profile_name,
             "url": options.url,
             }
         profile = config[profile_name]
     self.print_whats_next(profile)
Ejemplo n.º 3
0
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             profile["description"] = fetch_api_description(url)
             config[profile_name] = profile
Ejemplo n.º 4
0
 def __call__(self, options):
     try:
         with ProfileConfig.open() as config:
             for profile_name in config:
                 profile = config[profile_name]
                 url = profile["url"]
                 profile["description"] = fetch_api_description(url)
                 config[profile_name] = profile
     except FileNotFoundError:
         return
Ejemplo n.º 5
0
Archivo: cli.py Proyecto: zeronewb/maas
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             creds = profile["credentials"]
             if creds is None:
                 print(profile_name, url)
             else:
                 creds = convert_tuple_to_string(creds)
                 print(profile_name, url, creds)
Ejemplo n.º 6
0
 def __call__(self, options):
     with ProfileConfig.open() as config:
         for profile_name in config:
             profile = config[profile_name]
             url = profile["url"]
             creds = profile["credentials"]
             if creds is None:
                 print(profile_name, url)
             else:
                 creds = convert_tuple_to_string(creds)
                 print(profile_name, url, creds)
Ejemplo n.º 7
0
def register_api_commands(parser):
    """Register all profiles as subcommands on `parser`."""
    with ProfileConfig.open() as config:
        for profile_name in config:
            profile = config[profile_name]
            profile_parser = parser.subparsers.add_parser(
                profile["name"], help="Interact with %(url)s" % profile,
                description=(
                    "Issue commands to the MAAS region controller at %(url)s."
                    % profile),
                epilog=profile_help)
            register_resources(profile, profile_parser)
Ejemplo n.º 8
0
def register_api_commands(parser):
    """Register all profiles as subcommands on `parser`."""
    with ProfileConfig.open() as config:
        for profile_name in config:
            profile = config[profile_name]
            profile_parser = parser.subparsers.add_parser(
                profile["name"], help="Interact with %(url)s" % profile,
                description=(
                    "Issue commands to the MAAS region controller at %(url)s."
                    % profile),
                epilog=profile_help)
            register_resources(profile, profile_parser)
Ejemplo n.º 9
0
 def __call__(self, options):
     # Try and obtain credentials interactively if they're not given, or
     # read them from stdin if they're specified as "-".
     credentials = obtain_credentials(options.credentials)
     # Get description of remote API.
     description = fetch_api_description(options.url, options.insecure)
     # Save the config.
     profile_name = options.profile_name
     with ProfileConfig.open() as config:
         config[profile_name] = {
             "credentials": credentials,
             "description": description,
             "name": profile_name,
             "url": options.url,
             }
         profile = config[profile_name]
     self.print_whats_next(profile)
Ejemplo n.º 10
0
 def __call__(self, options):
     # Try and obtain credentials interactively if they're not given, or
     # read them from stdin if they're specified as "-".
     credentials = obtain_credentials(options.credentials)
     # Get description of remote API.
     description = fetch_api_description(options.url, options.insecure)
     # Save the config.
     profile_name = options.profile_name
     with ProfileConfig.open() as config:
         config[profile_name] = {
             "credentials": credentials,
             "description": description,
             "name": profile_name,
             "url": options.url,
         }
         profile = config[profile_name]
     self.print_whats_next(profile)
Ejemplo n.º 11
0
Archivo: cli.py Proyecto: zeronewb/maas
 def __call__(self, options):
     with ProfileConfig.open() as config:
         del config[options.profile_name]
Ejemplo n.º 12
0
 def __call__(self, options):
     with ProfileConfig.open() as config:
         del config[options.profile_name]