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

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.

@withfig-bot withfig-bot closed this Dec 3, 2024
@withfig-bot withfig-bot deleted the auto-update/aws/1eb04892-a4af-4b5c-a043-187c7fac6189 branch December 3, 2024 18:51
@withfig withfig locked and limited conversation to collaborators Dec 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant