Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(aws): update spec #2509

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

withfig-bot
Copy link
Collaborator

Automated PR for latest AWS CLI release by https://github.com/withfig/aws-cli-plugin

@withfig-bot
Copy link
Collaborator Author

Overview

src/aws/application-signals.ts:

Info:

src/aws/geo-maps.ts:

Info:

src/aws/internetmonitor.ts:

Info:

src/aws/geo-places.ts:

Info:

src/aws/license-manager-user-subscriptions.ts:

Info:

src/aws/b2bi.ts:

Info:

src/aws/mwaa.ts:

Info:

src/aws/efs.ts:

Info:

src/aws/geo-routes.ts:

Info:

src/aws/keyspaces.ts:

Info:

src/aws/taxsettings.ts:

Info:

URLs:

  • https://tax.us-east-1.amazonaws.com

src/aws/accessanalyzer.ts:

Info:

src/aws/connectcampaignsv2.ts:

Info:

src/aws/partnercentral-selling.ts:

Info:

src/aws/customer-profiles.ts:

Info:

src/aws/ivs.ts:

Info:

URLs:

  • https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin.
  • https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin.

src/aws/datasync.ts:

Info:

src/aws/cloudtrail.ts:

Info:

src/aws/billing.ts:

Info:

URLs:

  • https://billing.us-east-1.api.aws

src/aws/sts.ts:

Info:

src/aws/autoscaling.ts:

Info:

URLs:

  • https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html
  • https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

src/aws/cloudwatch.ts:

Info:

Single Functions:

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-metrics",
        ["--namespace"],
        "Metrics",
        "MetricName"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listDimensionTypes(
        tokens,
        executeShellCommand,
        "list-metrics",
        "--namespace",
        "Metrics",
        "Dimensions"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listDimensionTypes(
        tokens,
        executeShellCommand,
        "describe-anomaly-detectors",
        "--namespace",
        "AnomalyDetectors",
        "Dimensions"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "describe-anomaly-detectors",
        ["--namespace", "--metric-name"],
        "AnomalyDetectors",
        "Stat"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      // get list of stream names
      const result = await getResultList(
        tokens,
        executeShellCommand,
        ["firehose", "list-delivery-streams"],
        "DeliveryStreamNames"
      );
      // construct "query"
      const objects = result.flat().map((stream) => {
        return {
          command: [
            "firehose",
            "describe-delivery-stream",
            "--delivery-stream-name",
            Array.isArray(stream.name) ? stream.name[0] : stream.name,
          ],
          parentKey: "DeliveryStreamDescription",
          childKey: "DeliveryStreamARN",
        };
      });
      // Fire up multiple API calls
      return MultiSuggestionsGenerator(tokens, executeShellCommand, [
        ...objects,
      ]);
    }

src/aws/iotwireless.ts:

Info:

src/aws/qconnect.ts:

Info:

URLs:

  • https://myInstanceName.lightning.force.com/lightning/r/Knowledge__kav/

src/aws/route53resolver.ts:

Info:

src/aws/organizations.ts:

Info:

URLs:

  • https://organizations.us-east-1.amazonaws.com

src/aws/pinpoint-sms-voice-v2.ts:

Info:

src/aws/dynamodb.ts:

Info:

src/aws/iotsitewise.ts:

Info:

src/aws/workspaces.ts:

Info:

src/aws/ecs.ts:

Info:

URLs:

  • http://169.254.169.254/latest/dynamic/instance-identity/document/
  • http://169.254.169.254/latest/dynamic/instance-identity/signature/

src/aws/cloudformation.ts:

Info:

Single Functions:

postProcess:

 function (out) {
      try {
        const accountId = JSON.parse(out)["Account"];
        return [{ name: accountId }];
      } catch (error) {
        console.error(error);
      }
      return [];
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "TypeSummaries", "TypeArn");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Exports", "Name");
    }

postProcess:

 function (out, tokens) {
      try {
        return out.split("\n").map((line) => {
          const parts = line.split(/\s+/);
          // sub prefix
          if (!parts.length) {
            return [];
          }
          return {
            name: _prefixS3 + parts[parts.length - 1],
          };
        }) as Fig.Suggestion[];
      } catch (error) {
        console.error(error);
      }
      return [];
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Keys", "KeyId");
    }

src/aws/glue.ts:

Info:

src/aws/quicksight.ts:

Info:

URLs:

  • https://sapp.amazon.com
  • https://sapp.amazon.com

src/aws.ts:

Info:

Single Functions:

postProcess:

 function (out) {
    if (out.trim() == "") {
      return [];
    }
    return out.split("\n").map((line) => ({
      name: line,
      icon: "👤",
    }));
  }

URLs:

  • https://bcm-data-exports.us-east-1.api.aws
  • https://billing.us-east-1.api.aws
  • https://budgets.amazonaws.com
  • https://ce.us-east-1.amazonaws.com
  • https://service.chime.aws.amazon.com.
  • https://cost-optimization-hub.us-east-1.amazonaws.com
  • https://elasticbeanstalk.s3.amazonaws.com/doc/2010-12-01/AWSElasticBeanstalk.wsdl.
  • https://freetier.us-east-1.api.aws
  • https://organizations.us-east-1.amazonaws.com
  • http://aws.amazon.com/simpledb/
  • https://tools.ietf.org/html/rfc8628)
  • https://tax.us-east-1.amazonaws.com
  • http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html

src/aws/iot.ts:

Info:

URLs:

  • https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0
  • https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

src/aws/iam.ts:

Info:

Single Functions:

postProcess:

 function (out, tokens) {
      try {
        const accountId = JSON.parse(out)["Account"];
        return [{ name: `arn:aws:iam::${accountId}-ID:root` }];
      } catch (error) {
        console.error(error);
      }
      return [];
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "OpenIDConnectProviderList", "Arn");
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "get-open-id-connect-provider",
        "--open-id-connect-provider-arn",
        "ClientIDList"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "get-open-id-connect-provider",
        "--open-id-connect-provider-arn",
        "ThumbprintList"
      );
    }

postProcess:

 function (out) {
      return postPrecessGenerator(
        out,
        "InstanceProfiles",
        "InstanceProfileName"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      try {
        const idx = tokens.indexOf("--instance-profile-name");
        if (idx < 0) {
          return [];
        }
        const param = tokens[idx + 1];
        const { stdout } = await executeShellCommand({
          command: "aws",
          args: [
            "iam",
            "get-instance-profile",
            "--instance-profile-name",
            param,
          ],
        });
        const policies = JSON.parse(stdout)["InstanceProfile"];
        return policies["Roles"].map((elm) => {
          return {
            name: elm["RoleName"],
          };
        });
      } catch (e) {
        console.log(e);
      }
      return [];
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Users", "UserName");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Users", "Arn");
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-user-policies",
        "--user-name",
        "PolicyNames"
      );
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Groups", "GroupName");
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "get-group",
        "--group-name",
        "Users",
        "UserName"
      );
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Policies", "Arn");
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-policy-versions",
        "--policy-arn",
        "Versions",
        "VersionId"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-group-policies",
        "--group-name",
        "PolicyNames"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-attached-group-policies",
        "--group-name",
        "AttachedPolicies",
        "PolicyArn"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-attached-group-policies",
        "--group-name",
        "AttachedPolicies",
        "PolicyName"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-attached-role-policies",
        "--role-name",
        "AttachedPolicies",
        "PolicyArn"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-attached-user-policies",
        "--user-name",
        "AttachedPolicies",
        "PolicyArn"
      );
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "Roles", "RoleName");
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-role-policies",
        "--role-name",
        "PolicyNames"
      );
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "MFADevices", "SerialNumber");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "VirtualMFADevices", "SerialNumber");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "AccessKeyMetadata", "AccessKeyId");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "AccountAliases");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "SAMLProviderList", "Arn");
    }

postProcess:

 function (out) {
      return postPrecessGenerator(out, "SSHPublicKeys", "SSHPublicKeyId");
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-ssh-public-keys",
        "--user-name",
        "SSHPublicKeys",
        "SSHPublicKeyId"
      );
    }

postProcess:

 function (out) {
      return postPrecessGenerator(
        out,
        "ServerCertificateMetadataList",
        "ServerCertificateName"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-service-specific-credentials",
        "--user-name",
        "ServiceSpecificCredentials",
        "ServiceSpecificCredentialId"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-signing-certificates",
        "--user-name",
        "Certificates",
        "CertificateId"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return MultiSuggestionsGenerator(tokens, executeShellCommand, [
        ...identityStruct,
        {
          command: ["iam", "list-policies", "--scope", "Local"],
          parentKey: "Policies",
          childKey: "Arn",
        },
      ]);
    }

custom:

 async function (tokens, executeShellCommand) {
      return MultiSuggestionsGenerator(
        tokens,
        executeShellCommand,
        identityStruct
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-instance-profile-tags",
        "--instance-profile-name",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-mfa-device-tags",
        "--serial-number",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-open-id-connect-provider-tags",
        "--open-id-connect-provider-arn",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-policy-tags",
        "--policy-arn",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-role-tags",
        "--role-name",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-saml-provider-tags",
        "--saml-provider-arn",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-server-certificate-tags",
        "--server-certificate-name",
        "Tags",
        "Key"
      );
    }

custom:

 async function (tokens, executeShellCommand) {
      return listCustomGenerator(
        tokens,
        executeShellCommand,
        "list-user-tags",
        "--user-name",
        "Tags",
        "Key"
      );
    }

URLs:

  • https://server.example.org
  • https://keys.server.example.com/openid-connect.
  • https://sts.amazonaws.com.

src/aws/connect.ts:

Info:

src/aws/s3api.ts:

Info:

Single Functions:

postProcess:

 function (out) {
    const json = JSON.parse(out);
    return json.Buckets.map((bucket) => {
      let date;
      try {
        date = new Date(bucket.CreationDate).toLocaleDateString();
      } catch (e) {
        date = bucket.CreationDate;
      }
      return {
        name: bucket.Name,
        description: `Created: ${date}`,
      };
    });
  }

URLs:

  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com.
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://www.rfc-editor.org/rfc/rfc9110.html#name-range.
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com.
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • http://acs.amazonaws.com/groups/s3/LogDelivery
  • http://www.example.com
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • http://www.w3.org/2001/XMLSchema-instance
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://s3express-control.region_code.amazonaws.com/bucket-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
  • https://www.rfc-editor.org/rfc/rfc6266#section-4
  • https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
  • https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
  • https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
  • https://www.rfc-editor.org/rfc/rfc7234#section-5.3
  • http://www.example.com/
  • http://www.w3.org/2001/XMLSchema-instance
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name
  • https://bucket_name.s3express-az_id.region.amazonaws.com/key-name

src/aws/rds.ts:

Info:

src/aws/appconfig.ts:

Info:

@withfig-bot
Copy link
Collaborator Author

Hello @withfig-bot,
thank you very much for creating a Pull Request!
Here is a small checklist to get this PR merged as quickly as possible:

  • Do all subcommands / options which take arguments include the args property (args: {})?
  • Are all options modular? E.g. -a -u -x instead of -aux
  • Have all other checks passed?

Please add a 👍 as a reaction to this comment to show that you read this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant