text:
Uncaught TypeError: this.action.disposalAction is not a function

/Users/dhruvghori/.atom/packages/autoclose/lib/autoclose.coffee:39
Hide Stack Trace
TypeError: this.action.disposalAction is not a function
at Object._paneItemChanged (/Users/dhruvghori/.atom/packages/autoclose/lib/autoclose.coffee:39:29)
at /Users/dhruvghori/.atom/packages/autoclose/lib/autoclose.coffee:26:8
at Function.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/static/:11:1211909)
at Emitter.emit (/Applications/Atom.app/Contents/Resources/app/static/:11:1213350)
at Workspace.didActivatePaneContainer (/Applications/Atom.app/Contents/Resources/app/static/:11:424357)
at Dock.subscriptions.l.paneContainer.onDidActivatePane (/Applications/Atom.app/Contents/Resources/app/static/:11:469182)
at Function.simpleDispatch (/Applications/Atom.app/Contents/Resources/app/static/:11:1211909)
at Emitter.emit (/Applications/Atom.app/Contents/Resources/app/static/:11:1213350)
at PaneContainer.didActivatePane (/Applications/Atom.app/Contents/Resources/app/static/:11:446593)
at Pane.activate (/Applications/Atom.app/Contents/Resources/app/static/:11:463916)
at Pane.focus (/Applications/Atom.app/Contents/Resources/app/static/:11:455359)
at HTMLElement.handleFocus (/private/var/folders/56/c1snd3vs3m7dy34lbdf6ps1r0000gn/T/AppTranslocation/0DB0AD71-CD6E-4341-9011-098AC102B7C2/d/Atom.app/Contents/Resources/app.asar/src/pane-element.js:41:20)

Still Not Resolved

is there any progress?

Same error here. It is so anoying.

just delete the file from the source C:\Users\YOURUSERNAME.atom\packages\autoclose\lib

Duplicate of #12
TL;DR;

Duplicate of #12
In ~/.atom/packages/autoclose/lib/autoclose.coffee
~if @action then @action.disposalAction()~
if @action then @action.dispose()
do this 2x, looks like line 39, and 29.

This is not working for me.
Still the error... but thanks!

authors: SIGALIZ3R Wkasel dhruvghori eduardohmrodrigues maissanusa nerdoc


text:
Discussion: incremental build system for the applications

Here is my idea for an incrementaly build the application for serenity
Each app will have a manifest file (maybe .ini for the win9X feel 😉  )
For exemple the manifest.ini for VisualBuilder would be:
[Application]
Name="Visual Builder"
Description="A familiar GUI building tool"
Author="awesomekling"
License="2-clause BSD license."
Version="0.1.0-beta"

[Install]
Path="/opt/VisualBuilder/vb"
MakeDesktopFile=true

[Build]
OLevel=3
Defines="DEBUG"

[Dependancies]
LibC=true
LibGUI=true

Then a python script or whatever would parse the manifest and make sure all the dependencies are up-to-date and then build the application if needed.
Also we can generate desktop like file for a futur start menu or whatever
I already build something like this for my own hobby operating system project, so i can just cleanup the code, refactor bit and make a port for serenity.
What do you think?

I like your idea about the .ini format, it totally fits with the spirit of Serenity!
That said, while I'm not against making a custom build system, would it be possible to use some existing system like CMake for this? I'm not super knowledgeable about build systems (as you probably understood from seeing my bash & Makefile "build system" ;)) so I don't really know what's available already.
I guess the dream goal would be being able to do something like:
build VisualBuilder
And it would build LibC, LibCore, LibGUI and VisualBuilder incrementally. Maybe even install it into the testing file system disk image.
If we do end up with a custom build system for Serenity, we should make sure it supports some kind of "include" statement, so we can have a single place for all the compiler flags and such.

I don't really like cmake, because a simple makefile at the root of this repository should do the trick, no need to add more dependancie between us and a futur selfhosted build :)

make -C DevTools/VisualBuilder...

The current build system now allows incremental builds, so let's close this :)

source: gharchive/issue

repo: awesomekling/serenity

license_type: permissive

license_source: github-api


text:
Not Authorized to access on type Mutation

Amplify CLI Version
12.12.6
Question
Hi.
It seems I'm missing something in the authorization implementation in Amplify Gen2 Data access. I am getting a "Error: Not Authorized to access listContacts on type Query
resource.ts:
 //...

  CRMContact: a.model({

  id: a.id(),
  name: a.string(),
  salesperson_sub: a.string(),
  contact_id: a.id(),
  surname: a.string().required(),
  phone: a.string().required(),
  email: a.email(),
  area: a.string().required(),
  city: a.string().required(),
  date: a.string(),
  createdAt: a.string(),
  updatedAt: a.string(),

}).authorization((allow) => [allow.ownerDefinedIn('salesperson_sub')]),

frontend effect code:
function listContacts() {
    try {
        const req = client.models.Contact.observeQuery(
            {
                authMode: 'userPool'
            }
        ).subscribe({
            next: (data) => setContacts([...data.items]),
            error: (error) => {
                throw new Error(error.message);
            }
        }
        );
    } catch (error) {
        console.log(error);
    }
}

Error Message:
Error: Not Authorized to access listContacts on type Query

Hi @palabadi-dg , there are some inconsistencies between the model name in the schema you provided and the model the client side code is trying to query. If you are making changes and testing queries in-between, please make sure the sandbox is running and applying those changes to the backend resource.
Another thing to confirm is that the user is logged in as a Cognito User. The ownerDefinedIn auth rule requires authentication through Cognito.

Hi Chris,
Thanks I will be looking into these issues and let you know
Kind Regards
On Mon, Sep 9, 2024 at 8:31 PM chris @.***> wrote:

Hi @palabadi-dg https://github.com/palabadi-dg , there are some
inconsistencies between the model name in the schema you provided and the
model the client side code is trying to query. If you are making changes
and testing queries in-between, please make sure the sandbox is running and
applying those changes to the backend resource.
Another thing to confirm is that the user is logged in as a Cognito User.
The ownerDefinedIn auth rule requires authentication through Cognito.
—
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-category-api/issues/2848#issuecomment-2338813382,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BH2J7DPUJGZTTK7TQF7L6KLZVXSPLAVCNFSM6AAAAABNXXQKOKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZYHAYTGMZYGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi 👋 Closing this as we have not heard back from you. If you are still experiencing this issue and in need of assistance, please feel free to comment and provide us with any information previously requested by our team members so we can re-open this issue and be better able to assist you.
Thank you!

Hi Chris, Thanks I will be looking into these issues and let you know Kind Regards
…
On Mon, Sep 9, 2024 at 8:31 PM chris @.> wrote: Hi @palabadi-dg https://github.com/palabadi-dg , there are some inconsistencies between the model name in the schema you provided and the model the client side code is trying to query. If you are making changes and testing queries in-between, please make sure the sandbox is running and applying those changes to the backend resource. Another thing to confirm is that the user is logged in as a Cognito User. The ownerDefinedIn auth rule requires authentication through Cognito. — Reply to this email directly, view it on GitHub <#2848 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BH2J7DPUJGZTTK7TQF7L6KLZVXSPLAVCNFSM6AAAAABNXXQKOKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZYHAYTGMZYGI . You are receiving this because you were mentioned.Message ID: @.>

Did you figure this out? Facing a similar issue and am not sure what else to try, Thanks!

Hey @blipps199 , can you share your schema and client code?

Hi @chrisbonifacio! Thanks for the uber fast response.
Here is the schema(schema.ql.ts) auto generated using this npx ampx generate schema-from-database --connection-uri-secret SQL_CONNECTION_STRING --out amplify/data/schema.sql.ts.
/* eslint-disable */
/* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. */
import { a } from "@aws-amplify/data-schema";
import { configure } from "@aws-amplify/data-schema/internals";
import { secret } from "@aws-amplify/backend";

export const schema = configure({
    database: {
        identifier: "DATABASE_IDENTIFIER", // Placeholder for database identifier
        engine: "postgresql",
        connectionUri: secret("YOUR_SQL_CONNECTION_STRING"), // Placeholder for SQL connection string
        vpcConfig: {
            vpcId: "YOUR_VPC_ID", // Placeholder for VPC ID
            securityGroupIds: [
                "YOUR_SECURITY_GROUP_ID_1", // Placeholder for Security Group ID 1
                "YOUR_SECURITY_GROUP_ID_2"  // Placeholder for Security Group ID 2
            ],
            subnetAvailabilityZones: [
                {
                    subnetId: "YOUR_SUBNET_ID_1", // Placeholder for Subnet ID 1
                    availabilityZone: "YOUR_AVAILABILITY_ZONE_1" // Placeholder for Availability Zone 1
                },
                {
                    subnetId: "YOUR_SUBNET_ID_2", // Placeholder for Subnet ID 2
                    availabilityZone: "YOUR_AVAILABILITY_ZONE_2" // Placeholder for Availability Zone 2
                },
                {
                    subnetId: "YOUR_SUBNET_ID_3", // Placeholder for Subnet ID 3
                    availabilityZone: "YOUR_AVAILABILITY_ZONE_3" // Placeholder for Availability Zone 3
                },
                {
                    subnetId: "YOUR_SUBNET_ID_4", // Placeholder for Subnet ID 4
                    availabilityZone: "YOUR_AVAILABILITY_ZONE_4" // Placeholder for Availability Zone 4
                },
                {
                    subnetId: "YOUR_SUBNET_ID_5", // Placeholder for Subnet ID 5
                    availabilityZone: "YOUR_AVAILABILITY_ZONE_5" // Placeholder for Availability Zone 5
                },
                {
                    subnetId: "YOUR_SUBNET_ID_6", // Placeholder for Subnet ID 6
                    availabilityZone: "YOUR_AVAILABILITY_ZONE_6" // Placeholder for Availability Zone 6
                }
            ]
        }
    }
}).schema({
    "demographic_data": a.model({
        demographic_data_id: a.integer().required(),
        user_id: a.integer().required(),
        country: a.string(),
        state: a.string(),
        tribe: a.string(),
        height: a.integer(),
        weight: a.integer(),
        sex: a.string(),
        ethnic_group: a.string(),
        physical_activity_level: a.string(),
        smoking_history: a.string(),
        occupational_exposure: a.string(),
        previous_disease: a.string(),
        respiratory_medication_use: a.string(),
        pregnant: a.string()
    }).identifier([
        "demographic_data_id"
    ]),
    "test": a.model({
        test_id: a.integer().required(),
        source_id: a.integer().required(),
        user_name: a.string().required(),
        user_id: a.integer(),
        created_timestamp: a.string(),
        note: a.string(),
        input_filename: a.string(),
        demographic_data_id: a.integer()
    }).identifier([
        "test_id"
    ]),
    "test_data": a.model({
        test_data_id: a.integer().required(),
        test_id: a.integer().required(),
        source_id: a.integer().required(),
        time_stamp: a.string().required(),
        type: a.string(),
        fev1: a.float(),
        fvc: a.float(),
        fev1_over_fvc: a.float(),
        ivc: a.float(),
        pef: a.float(),
        heart_rate: a.float(),
        pressure: a.float(),
        air_quality: a.float(),
        co2: a.float()
    }).identifier([
        "test_data_id"
    ]),
    "user": a.model({
        user_id: a.integer().required(),
        email: a.string(),
        first: a.string(),
        last: a.string(),
        date_of_birth: a.date()
    }).identifier([
        "user_id"
    ])
});

Here is my data/resource.ts
import { type ClientSchema, a, defineData } from "@aws-amplify/backend";
import { websiteEmbed } from "../functions/website-embed/resource";
// Import the generated schema for your PostgreSQL database
import { schema as generatedSqlSchema } from './schema.sql';

// Define your existing schema (websiteEmbed )
const websiteEmbed Schema = a.schema({
  websiteEmbed: a
    .query()
    .arguments({
      email: a.string(),
      visualId: a.string(),
    })
    .returns(a.string())
    .handler(a.handler.function(websiteEmbed ))
    .authorization((allow) => allow.authenticated()),
});

// Wrap the generated SQL schema and add authentication authorization
const testSchema = generatedSqlSchema.authorization((allow) => allow.authenticated());

// Combine the schemas
const combinedSchema = a.combine([websiteEmbed Schema, testSchema]);

// Define the client schema type for both combined schemas
export type Schema = ClientSchema<typeof combinedSchema>;

// Define data with combined schema
export const data = defineData({
  schema: combinedSchema,
  authorizationModes: {
    defaultAuthorizationMode: "userPool",
  },
});

Here is my front end code:
import React, { useState, useEffect } from 'react';
import type { Schema } from './../../amplify/data/resource';
import { generateClient } from 'aws-amplify/api';

const YourComponent: React.FC = () => {
  const [events, setEvents] = useState<any[]>([]);
  const [loading, setLoading] = useState<boolean>(true);
  const [error, setError] = useState<string | null>(null);
  const client = generateClient<Schema>();

  useEffect(() => {
    const fetchEvents = async () => {
      try {
        const response = await client.models.demographic_data.list();
        console.log('API Response:', response);

        // Check if response has a 'data' property and set it accordingly
        if (Array.isArray(response.data)) {
          setEvents(response.data);
        } else {
          setEvents([]);
        }
      } catch (err) {
        console.error('Error fetching events:', err);
        setError('Failed to fetch events');
      } finally {
        setLoading(false);
      }
    };

    fetchEvents();
  }, [client]);

  if (loading) return
Loading...
;
  if (error) return
{error}
;

  return (

Test Data

      {events.length > 0 ? (

          {events.map((event, index) => (

{JSON.stringify(event)}

          ))}

      ) : (

No events found.

      )}

  );
};

export default YourComponent;

I know this might be overkill but I want to provide as much as I can.

@chrisbonifacio I think this might have been what you were looking for. I did find it concerning nothing as in here regarding the generated schema but wasnt sure if that was normal. Just the things for the api that triggers a lambda which works but is separate from what I'm dealing with now.
API.ts
/* tslint:disable */
/* eslint-disable */
//  This file was automatically generated and should not be edited.

export type websiteEmbedQueryVariables = {
  email?: string | null,
  visualId?: string | null,
};

export type websiteEmbedQuery = {
  websiteEmbed?: string | null,
};

queries.ts
/* tslint:disable */
/* eslint-disable */
// this is an auto generated file. This will be overwritten

import * as APITypes from "./API";
type GeneratedQuery<InputType, OutputType> = string & {
  __generatedQueryInput: InputType;
  __generatedQueryOutput: OutputType;
};

export const websiteEmbed= /* GraphQL */ `query WebsiteEmbed($email: String, $visualId: String) {
  websiteEmbed(email: $email, visualId: $visualId)
}
` as GeneratedQuery<
  APITypes.WebsiteEmbedQueryVariables,
  APITypes.WebsiteEmbedQuery
>;

Hi @chrisbonifacio! I know it's literally first thing in the morning but I was hoping you might be able to help me out with this soon. I'm sort of on a time crunch and I'm not sure what else to do here.

Hi @blipps199 , thank you for providing the additional context! I've moved your info into a new issue so we can track it separately in an open issue since this one was closed
https://github.com/aws-amplify/amplify-category-api/issues/2970

@blipps199 I think the only context missing that might be is the error message you are getting

authors: blipps199 chrisbonifacio palabadi-dg

repo: aws-amplify/amplify-category-api


text:
Amplify Studio deployment fails after changing table name

Before opening, please confirm:

[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

App Id
d1mptt8hqo6wak
Region
us-east-1
Environment name
staging
Amplify CLI Version
9.1.0
If applicable, what version of Node.js are you using?
v16.13.1
What operating system are you using?
macOs Monterey Version 12.4 (M1 Chip)
Browser type?
Chrome
Describe the bug
In Amplify Studio I have created a new data model called "Posts" and deployed it.
I then however wanted to call it "Post" (singular). So I've changed the name in the field and deployed.
This resulted in the following error, during the deployment:
Embedded stack arn:aws:cloudformation:us-east-1:187343962510:stack/amplify-99thcloudblog-staging-55625-api99thcloudblog-BIPHMIMW8108/b97015f0-0595-11ed-8297-0a796557b527 was not successfully updated. Currently in UPDATE_ROLLBACK_IN_PROGRESS with reason: The following resource(s) failed to create: [Post].

And:
Embedded stack arn:aws:cloudformation:us-east-1:187343962510:stack/amplify-99thcloudblog-staging-55625-api99thcloudblog-BIPHMIMW8108-Post-XGR3DX4RZNK/ae5bc430-0832-11ed-b386-120acb2ea075 was not successfully created: The following resource(s) failed to create: [ListPostResolver, SyncPostResolver].

Expected behavior
Update of Amplify services works over the web console, and also over the CLI, without having to delete the whole environment (which leaves clutter as not all services that were created get deleted and there is no reference).
Reproduction steps

Create a new Amplify App
Open Amplify Studio
Create a table called "Posts" with fields "ID, title, content"
Deploy the table
Change the name of "Posts" to "Post"
Deploy again (now you'll get the error)

Additional information
No response

Hi @adilahkb,
Thanks, much appreciated. Sorry if I've raised it in the wrong Github Repo. If you or one of your colleagues have time could you also look at the ones that I've raised in amplify hosting?
https://github.com/aws-amplify/amplify-hosting/
#2890, #2876
Thanks a lot.

Hey @chstrong :wave: apologies for the delay here! Are you still experiencing this?

Hi @josefaidt I don't know. I stopped using Amplify.

authors: chstrong josefaidt


text:
Unfortunatly deleted my amplify project

Hello,
I'd like to know if there is any way to recover from a deleted app in amplify. I have had a look but the only way is to create again and push back all config into the project.
All resources are still here (API, Auth, Cloud Formation,...) but the project is not.
Any solution would be much appreciated.
If it can help here is the id of the app: "d2cpl188hyw53h".
Thank you

If you mean the amplify console, you can just add it again as new app from the repo. Amplify will find the amplify folder inside

Hi @biller-aivy
Thanks' for the feedback.
This is what I did, adding a new project with "amplify init" but the thing is that everything from the previous amplify app is not linked and I don't know how to do that.
I have auth, API, functions, custom headers, Redirect, domain ...
Everything is still in a cloudformation stack but I don't know how can I deploy this stack in my new amplify app.
Bastien

So when you add the app, you can choose the backend right? so you have to choose the old backend. For this, there should be a amplify folder in the git repo I guess.
Are you premium support customer? Sometimes they can restore some things for you a few hours.

Hey @BastienFerrier :wave: thanks for raising this and apologies for the delay here! As @biller-aivy mentioned if we have the Amplify backend folder and an existing stack, we should be able to recreate the Amplify app (with a valid App ID) with amplify init. Using the existing configuration, this should allow you to initialize the existing backend environment with your resources.
We can check the Amplify App ID by looking for AmplifyAppId in amplify/backend/amplify-meta.json

authors: BastienFerrier biller-aivy josefaidt

repo: aws-amplify/amplify-cli


text:
How to stream video, but only to authenticated users?

Which Category is your question related to?
I've seen this blog: https://aws.amazon.com/blogs/media/introducing_aws_amplify_video/
There it's described that both live and on demand video streaming is now possible in Amplify.
My questions are:

I have a large number of videos and I'm looking to control access per video to specific users (which are Cognito users). Video's should not be publically available in any way.

How do I do a live streaming session, and again only to authenticated users?

Background: We're building a membership portal with learning videos where only paid users can access the content. If they leave their membership and in some way have gotten the direct link to the stored video (view source for example), how can I prevent that they won't be able to access it?
What AWS Services are you utilizing?
Amplify with Cognito, AppSync, DynamoDB etc.

To the Amplify CLI, the amplify video is a third party plugin, you can directly post issues on their github repo
https://github.com/awslabs/amplify-video

Thanks, sometimes it can be hard to figure out where something is being done in AWS land... I found an existing ticket over there for this exact request, bud sadly this is not yet possible and there doesn't seem to be a timeline on when that will be.

authors: UnleashedMind houmark


text:
Issue when use createdAt as part of composite sort key

Describe the bug
When using createdAt as part of the composite sort key, the generated template checks its value before setting the default createdAt value. Invoking the "create" mutation operation will fail without giving createdAt value.
Amplify CLI Version
4.21.0
To Reproduce
type TestModel
  @model
  @key(
    name: "ByOwner"
    fields: ["owner", "queryType", "createdAt"]
  ){
  id: ID!
  owner: String!
  queryType: String!
  createdAt: String
}

invoke with
mutation CreateTestModel(
  $input:CreateTestModelInput!
  $condition: ModelTestModelConditionInput){
  createTestModel(input: $input, condition: $condition){
    id
    owner
    createdAt
  }
}

The operation failed with following message:

"When creating any part of the composite sort key for @key 'ByOwner', you must provide all fields for the key. Missing key: 'createdAt'."

Expected behavior
Should create Test Model data correctly
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: MacOS
Node Version: v14.3.0

Additional context
By checking generated resolver:
# [Start] Validate create mutation for @key 'ByOwner'. **
#set( $hasSeenSomeKeyArg = false )
#set( $keyFieldNames = ["queryType", "createdAt"] )
#foreach( $keyFieldName in $keyFieldNames )
#if( $ctx.args.input.containsKey("$keyFieldName") ) #set( $hasSeenSomeKeyArg = true ) #end
#end
#foreach( $keyFieldName in $keyFieldNames )
  #if( $hasSeenSomeKeyArg && !$ctx.args.input.containsKey("$keyFieldName") )
    $util.error("When creating any part of the composite sort key for @key 'ByOwner', you must provide all fields for the key. Missing key: '$keyFieldName'.")
  #end
#end
## [End] Validate create mutation for @key 'ByOwner'. **
#if( $util.isNull($dynamodbNameOverrideMap) )
  #set( $dynamodbNameOverrideMap = {
  "queryType#createdAt": "queryTypeCreatedAt"
} )
#else
  $util.qr($dynamodbNameOverrideMap.put("queryType#createdAt", "queryTypeCreatedAt"))
#end
$util.qr($ctx.args.input.put("queryType#createdAt","${ctx.args.input.queryType}#${ctx.args.input.createdAt}"))
## [Start] Prepare DynamoDB PutItem Request. **
#set( $createdAt = $util.time.nowISO8601() )
## Automatically set the createdAt timestamp. **
$util.qr($context.args.input.put("createdAt", $util.defaultIfNull($ctx.args.input.createdAt, $createdAt)))
## Automatically set the updatedAt timestamp. **
$util.qr($context.args.input.put("updatedAt", $util.defaultIfNull($ctx.args.input.updatedAt, $createdAt)))

The logic to set default createdAt value should be placed before sort key value checking.

@yuntaoL this is fixed as of CLI version 4.21.1, please feel free to comment if you are still facing this.

authors: nikhname yuntaoL


text:
Can't create a lambda function with python runtime

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
Trying to amplify function add a lambda with a python run time, and the moment I select the option for python, the following error is thrown:
Error executing python3
You must have python >= 3.8 installed and available on your PATH as "python3". It can be installed from https://www.python.org/downloads

I've installed python 3.9 on the Windows 10 system and have updated the PATH to include both ...\Python39 and ...\Python39\Scripts`
The Python installer creates a python.exe executable, not python3.exe.
I'm using PowerShell, not WSL.
Entering python3 on the PowerShell does start python correctly.
I've tried making a copy of python.exe and naming it python3.exe, but to no avail.
I've also tried to create some aliases, like the below, but none seem to help Amplify find python:
Set-Alias python3.exe "D:\Users\Kim\AppData\Local\Programs\Python\Python39\python3.exe"
Set-Alias python3 "D:\Users\Kim\AppData\Local\Programs\Python\Python39\python3.exe"

I'm feeling like I'm doing something dumb here, but I don't know what.
Amplify CLI Version
4.30.0
To Reproduce

run amplify function add
select python as the runtime

Expected behavior
Should create a python function
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Node: v12.18.3

Additional context
Sorry if this is not a bug, and just me being stupid, but any input that sets me straight would be appreciated.

Looking at the code...
  try {
    pyVersionStr = await execAsStringPromise('python3 --version');
    const pyVersion = coerce(pyVersionStr);
    if (!pyVersion || lt(pyVersion, minPyVersion)) {
      hasDeps = false;
      errMsg = `python3 found but version ${pyVersionStr} is less than the minimum required version.\n${pythonErrMsg}`;
    }
  } catch (err) {
    hasDeps = false;
    errMsg = `Error executing python3\n${pythonErrMsg}`;
  }

Do you mind running python3 --version maybe with 3.9 they've changed the output format, so we can't just use semver.

cc @kimfucious

Hi @renebrandel ,
Thanks for the follow up.
Here's the output from python3 --version.
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows

PS C:\Users\kim> python3 --version
Python 3.9.0
PS C:\Users\kim>

@kimfucious since we check 2 things, pipenv is that possible that the pipenv check itself fails with this error message?

Hi @attilah, thanks for the follow up.
I actually don't need Python 3.9, so I'm going to revert to v3.8 and see if that fixes things.
Sorry to waste anyone's time on this, but perhaps it's something to get the CLI ready for folks moving to 3.9.
Give me a day or two, and I'll let you know how 3.8 goes.

@kimfucious sounds good, in the meantime since it can affect other customers as well, since we have no control over how python was installed, we'll probably implement a fallback mechanism for python binary selection by probing python3 and python as well.

Hi @attilah,
Python v 3.8.6 installed from here, also install as python.exe, not python3.exe.
Installing Python from the MS app store gets python3 working from powershell and amplify can find it; however, running pip3 install --user pipenv does not get an amplify recognizeable install, as--to the best of my knowledge--Python 3 requires an -m parameter to run pipenv, like:
PS> python3 -m pipenv --version
pipenv, version 2020.8.13

Frankly, I'm not used to running Python on Windows, so I could be doing something dumb.  I'd use WSL, which would be easier and most likely resolve this issue, but I need this particular app to be built and running in PowerShell for reasons that aren't pertinent to this issue.
I have read all of this, but nothing I've tried helps much toward getting amplify to allow me to create a Python function.
I can't be the only one doing this, so I'm hopeful that I'll find a solution soon.  If I do, I'll post it here.
Thanks for any further advice that you may have.

@kimfucious I think you have some local issue with your python setup for sure, I made the fix to make sure Amplify CLI can use python binary as a fallback, if python3 was not found in the path. See #5744 PR for details.

@attilah At what version of the CLI should I try this.
I've got an issue where I can't go to the newest version to to other issues.
Thanks.

It will be in included in the next release.

authors: attilah kimfucious renebrandel


text:
Add option for high-availability Dgraph cluster with amplify add auth

Is your feature request related to a problem? Please describe.
Dgraph offers a lot of functionality out of the box, like location searching and the @inverse directive, that are hard to replicate in AppSync, yet being able to manage everything as part of the Amplify/AWS platform has tremendous benefits.
Describe the solution you'd like
It is possible to automate deploys of Dgraph clusters on AWS as provided in this Amazon article, and it would be nice to add this functionality to Amplify and access it via amplify add auth --dgraph or something similar. This would make initializing a high-availability graph database a one-step process, and you could hook into the GraphQL endpoint in your app as usual with API.graphql().
I have written a set of scripts for use with pushing/pulling from the cluster and emulating locally (which requires Docker) that could be used for the integration if there was interest in this.

Thanks for creating this feature request @ctjlewis! I have transferred the feature request to the Amplify CLI team

@ctjlewis based on your description and what I read about DGraph it seems that it fits more to the api category then auth and probably a good addition to our already existing container based deployments, perhaps a new template for the container based workloads? What do you think? /cc @renebrandel

Oh, I absolutely meant to put amplify add api, sorry about that. If you can point me to any resources on how these templates work or are structured I would be happy to help!

@ctjlewis in this folder you can see the container templates for the API category. These templates are accessible from the walkthroughs when you do add api and are deploying Fargate based containers. If you could define more requirements and use cases about how a deployed DGraph infrastructure would look like that would help to formulate it into an RFC and later a possible work item .

authors: attilah ctjlewis sammartinez


text:
amplify configure doesn't show "canada" as a region

Can canada be added as a region for aws amplify?
➜  ~ amplify configure
Follow these steps to set up access to your AWS account:

Sign in to your AWS administrator account:
https://console.aws.amazon.com/
Press Enter to continue

Specify the AWS Region
? region:
   us-east-1
  us-east-2
  us-west-2
❯ eu-west-1
  eu-central-1
  ap-northeast-1
  ap-southeast-1
ap-southeast-2
  ap-south-1

Realized that aws amplify is not supported in canada region at all. That's a shame.

To add a new region, the region should support all the services needed by Amplify CLI to available in the region

Similarly, ap-northeast-2 is not supported. May I know why? Feature request?

authors: InfiniteRandomVariable aneeshjoshi yuth


text:
fix: add sharedId in externalAuthEnable()

Description of changes
This commit updates externalAuthEnable() to include the auth sharedId when creating an auth resource. The sharedId is given the lowest priority in the authProps object so that it will not overwrite any previously existing sharedId. It also uses the sharedId from cognito-defaults for consistency. This change prevents the creation of snsundefined roles.
Issue #, if available
N/A
Description of how you validated changes
Manual testing - create a new project, add a REST API with restricted access
Checklist

[x] PR description included
[x] yarn test passes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #7315 (e950736) into master (fedb28c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7315   +/-   ##
=======================================
  Coverage   52.23%   52.23%
=======================================
  Files         498      498
  Lines       25569    25569
  Branches     5008     5008
=======================================
  Hits        13355    13355
  Misses      11252    11252
  Partials      962      962

Impacted Files
Coverage Δ

packages/amplify-category-auth/src/index.js
9.90% <ø> (ø)

...utils/awscloudformation/assets/cognito-defaults.js
69.56% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fedb28c...e950736. Read the comment docs.

source: gharchive/pull-request

authors: cjihrig codecov-commenter


text:
AWS-Amplify Failed at Deploy stage

Good day AWS.
I'm trying to deploy our app in amplify, but it always fail at deploy stage, with no error.

APP ARN: arn:aws:amplify:ap-southeast-1:XXXXXXXXXXXX:apps/dgh3g9t0tybkk

Thanks for the report. We are currently looking for your issue

hi @garyleework , we remove the amplify and tried to create another one hoping it will fix the issue., but still it failed. here's the arn:
arn:aws:amplify:ap-southeast-1:xxxxxxxxxxxx:apps/d3ipadc1vdghx1

@syion-sayne Hi, I did some investigation yesterday. Looks like this is caused by network issue. Did you ever have a successful deploy for you repository?

authors: garyleework syion-sayne

repo: aws-amplify/amplify-console


text:
Amplify v2.x doesn't support passwords with spaces

Describe the bug
We've recently upgraded amplify-swift from a 1.30.3 version to 2.12.0, and seems like since the update Amplify.Auth.signUp throws an error when signing up with a password containing non-leading, non-trailing space characters.
Sign in works fine though, so the issue seems to affect only sign up calls.
Steps To Reproduce
1. Given a default configuration, call `Amplify.Auth.signUp(username:email:password)` with a password that contains a space in the middle (e.g "hello amplify!").
2. The call throws an error

AuthError: Password is required to signUp
Recovery suggestion: Make sure that a valid password is passed for signUp
  ▿ validation : 4 elements
    - .0 : "password"
    - .1 : "Password is required to signUp"
    - .2 : "Make sure that a valid password is passed for signUp"
    - .3 : nil

Expected behavior
As per the docs, non-leading, non-trailing space characters should be allowed in passwords.
Amplify Framework Version
2.12.0
Amplify Categories
Auth
Dependency manager
Swift PM
Swift version
5.7
CLI version
8.2.0
Xcode version
14.3.1 (14E300c)
Relevant log output
n/a

Is this a regression?
Yes
Regression additional context
The same scenario works as expected on 1.30.3.
Platforms
iOS
OS Version
15.4.1
Device
iPhone Xs
Specific to simulators
No response
Additional context
The issue could be reproduced on latest simulators as well

As far as I can see, the error comes from the logic in SignUpPasswordValidator.swift:
} else if password.rangeOfCharacter(from: .whitespacesAndNewlines) != nil {
  error = .invalidPassword(message: "password includes disallowed characters")
}

that leads to
▿ Optional<SignUpError>
  ▿ some : SignUpError
    ▿ invalidPassword : 1 element
      - message : "password includes disallowed characters"

It also seems like there is a unit test making sure that passwords with spaces in the middle are indeed incorrect, which seems to conflict with the docs / user pool settings:
https://github.com/aws-amplify/amplify-swift/blob/main/AmplifyPlugins/Auth/Tests/AWSCognitoAuthPluginUnitTests/Support/SignUpPasswordValidatorTests.swift#L25

@valzevul I opened a PR to fix this issue. Would you be able to validate if the open PR fixes your issue?

@harsh62 thanks a lot, building the app against fix/3129-fix via SPM seems to be solving the issue!

This was released in 2.15.3

authors: harsh62 ruisebas valzevul

repo: aws-amplify/amplify-swift


text:
File at path does not exist

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v20.12.0
Amplify CLI Version
12.10.3
What operating system are you using?
mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
some background --
i set up a project for this Xcode project yesterday, but when i went to upload to app store connect, i continued to get 2 errors:

/Volumes/workspace/repository/Bandit/awsconfiguration.json: No such file or directory
/Volumes/workspace/repository/Bandit/amplifyconfiguration.json: No such file or directory

after troubleshooting for an entire day, i deleted the project and reinstall. but, now that i'm reinstalling, i'm getting this new error.
Describe the bug
File at path: '/Users/maggiewiedner/amplify/backend/backend-config.json' does not exist
Expected behavior
project is created
Reproduction steps
run amplify init to set up project
an error will occurred when you attempt to create
Project Identifier
Session Identifier: ca3c80dc-4818-4db3-a2a8-dd1a49a94e72
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

@maggie-wiedner Can you help clarify what you mean by upload to app store through github.  Are you referring to uploading your app binary to the Apple Store Connect?  Are you seeing this error as part of building the app or archiving the app? How are you doing that via GitHub?  Can you provide a screen on what or where you're seeing the error message?

ah, for some reason I had to do a manual upload. i'm all set now you can close this out.
thank you!

authors: maggie-wiedner phantumcode


text:
Fn:If argument count not checked

cfn-lint version:
0.25.3
Description of issue.
cfn-lint does not currently appear to check the number of arguments passed to Fn::If, while there may be cases where this is not practical to check, eg where an existing list is passed.
I believe it would probably be possible to detect the following case, where a list of two elements is passed explicitly.  I would guess that this may also be true for various other intrinsic functions, but have not tested that.
Description: "Test - If argument count"
Parameters:
    TestParam:
        Type: String
        Default: Value

Conditions:
    HasParam: !Not [ !Equals [ !Ref TestParam, '' ] ]

Resources:
    SSM:
        Type: AWS::SSM::Parameter
        Condition: HasParam
        Properties:
            Type: String
            Description: "Just a test"
            Name: "/This-Is-Just-A-Test"
            Value: !If
              - HasParam
              - ValueIfTrue
```

Agreed.  Should be an easy thing to add.

authors: kddejong trav-c

repo: aws-cloudformation/cfn-python-lint


text:
Update git clone command

The change is required due to this article
https://github.blog/2021-09-01-improving-git-protocol-security-github/

Hello , Can a team member please review and provide feedback ?

repo: aws-containers/ecsworkshop


text:
s3-controller hung after failing to delete bucket

Describe the bug
I executed:
$ oc -n ack-system delete bucket dev-example
bucket.s3.services.k8s.aws "dev-example" deleted

on not empty bucket.
after some attempts to delete bucket it hunged. ack-s3-controller.v0.1.5 logs:
2022-09-20T12:31:35.717Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: H7B939Y5WNJ3A519, host id: qYzbVjLoFB+pDqPH1g3j+D8UsHb1EzAR/nUGGNEYNr9nBy2r+BeH7nvobgnZ****yR/3cG9wDs="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227
2022-09-20T12:34:19.564Z	DEBUG	ackrt	> r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.564Z	DEBUG	ackrt	>> rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.564Z	DEBUG	ackrt	>>> rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	<<< rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	<< rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	>> rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	>>> rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.927Z	DEBUG	ackrt	<<< rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
2022-09-20T12:34:19.927Z	DEBUG	ackrt	<< rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
2022-09-20T12:34:19.927Z	DEBUG	ackrt	>> r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	no difference found between metadata and spec for desired and latest object.	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	<< r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	< r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	> r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	>> kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.943Z	DEBUG	ackrt	patched resource status	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "json": "{\"metadata\":{\"resourceVersion\":\"1567799109\"},\"spec\":{\"accelerate\":null,\"cors\":null,\"encryption\":null,\"lifecycle\":null,\"notification\":null,\"ownershipControls\":null,\"requestPayment\":null,\"tagging\":null,\"versioning\":null,\"website\":null},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2022-09-20T10:08:45Z\",\"message\":\"Resource synced successfully\",\"reason\":\"\",\"status\":\"True\",\"type\":\"ACK.ResourceSynced\"},{\"message\":\"BucketNotEmpty: The bucket you tried to delete is not empty\\n\\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM=\",\"status\":\"True\",\"type\":\"ACK.Recoverable\"}]}}"}
2022-09-20T12:34:19.944Z	DEBUG	ackrt	<< kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.944Z	DEBUG	ackrt	< r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.944Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227
2022-09-20T12:39:47.649Z	DEBUG	ackrt	> r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:47.649Z	DEBUG	ackrt	>> rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:47.649Z	DEBUG	ackrt	>>> rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	<<< rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	<< rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	>> rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	>>> rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	<<< rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	<< rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	>> r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	no difference found between metadata and spec for desired and latest object.	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	<< r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	< r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	> r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	>> kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.046Z	DEBUG	ackrt	patched resource status	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "json": "{\"metadata\":{\"resourceVersion\":\"1567838399\"},\"spec\":{\"accelerate\":null,\"cors\":null,\"encryption\":null,\"lifecycle\":null,\"notification\":null,\"ownershipControls\":null,\"requestPayment\":null,\"tagging\":null,\"versioning\":null,\"website\":null},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2022-09-20T10:08:45Z\",\"message\":\"Resource synced successfully\",\"reason\":\"\",\"status\":\"True\",\"type\":\"ACK.ResourceSynced\"},{\"message\":\"BucketNotEmpty: The bucket you tried to delete is not empty\\n\\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs=\",\"status\":\"True\",\"type\":\"ACK.Recoverable\"}]}}"}
2022-09-20T12:39:48.046Z	DEBUG	ackrt	<< kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.046Z	DEBUG	ackrt	< r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.046Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227
2022-09-20T12:31:35.717Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: H7B939Y5WNJ3A519, host id: qYzbVjLoFB+pDqPH1g3j+D8UsHb1EzAR/nUGGNEYNr9nBy2r+BeH7nvobgnZ****yR/3cG9wDs="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227
2022-09-20T12:34:19.564Z	DEBUG	ackrt	> r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.564Z	DEBUG	ackrt	>> rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.564Z	DEBUG	ackrt	>>> rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	<<< rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	<< rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	>> rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.905Z	DEBUG	ackrt	>>> rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.927Z	DEBUG	ackrt	<<< rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
2022-09-20T12:34:19.927Z	DEBUG	ackrt	<< rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
2022-09-20T12:34:19.927Z	DEBUG	ackrt	>> r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	no difference found between metadata and spec for desired and latest object.	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	<< r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	< r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	> r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.928Z	DEBUG	ackrt	>> kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.943Z	DEBUG	ackrt	patched resource status	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "json": "{\"metadata\":{\"resourceVersion\":\"1567799109\"},\"spec\":{\"accelerate\":null,\"cors\":null,\"encryption\":null,\"lifecycle\":null,\"notification\":null,\"ownershipControls\":null,\"requestPayment\":null,\"tagging\":null,\"versioning\":null,\"website\":null},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2022-09-20T10:08:45Z\",\"message\":\"Resource synced successfully\",\"reason\":\"\",\"status\":\"True\",\"type\":\"ACK.ResourceSynced\"},{\"message\":\"BucketNotEmpty: The bucket you tried to delete is not empty\\n\\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM=\",\"status\":\"True\",\"type\":\"ACK.Recoverable\"}]}}"}
2022-09-20T12:34:19.944Z	DEBUG	ackrt	<< kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.944Z	DEBUG	ackrt	< r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:34:19.944Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: TGMBF2KMP5PPYXM8, host id: KBUT+6dgAAdNApAuedJcwbJowBC+Rh/Lbz4hkiPr29HVcIVqMQClKlJ2FI1fhBsLyfJ43fIQkaM="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227
2022-09-20T12:39:47.649Z	DEBUG	ackrt	> r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:47.649Z	DEBUG	ackrt	>> rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:47.649Z	DEBUG	ackrt	>>> rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	<<< rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	<< rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	>> rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.007Z	DEBUG	ackrt	>>> rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	<<< rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	<< rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	>> r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	no difference found between metadata and spec for desired and latest object.	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	<< r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	< r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	> r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.029Z	DEBUG	ackrt	>> kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.046Z	DEBUG	ackrt	patched resource status	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "json": "{\"metadata\":{\"resourceVersion\":\"1567838399\"},\"spec\":{\"accelerate\":null,\"cors\":null,\"encryption\":null,\"lifecycle\":null,\"notification\":null,\"ownershipControls\":null,\"requestPayment\":null,\"tagging\":null,\"versioning\":null,\"website\":null},\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2022-09-20T10:08:45Z\",\"message\":\"Resource synced successfully\",\"reason\":\"\",\"status\":\"True\",\"type\":\"ACK.ResourceSynced\"},{\"message\":\"BucketNotEmpty: The bucket you tried to delete is not empty\\n\\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs=\",\"status\":\"True\",\"type\":\"ACK.Recoverable\"}]}}"}
2022-09-20T12:39:48.046Z	DEBUG	ackrt	<< kc.Patch (status)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.046Z	DEBUG	ackrt	< r.patchResourceStatus	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:39:48.046Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3ZVcXvQj2z/jPFT7dZmPNubCAhvmhFvypcPLeEr4YcIGTs="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227

I cleared bucket:
$ aws s3 rm --recursive s3://dev-example

And still no effect. Last log entry the same as above.
I waited 10 minutes and decided to delete pod with s3-controller:
2022-09-20T12:39:48.046Z	ERROR	controller.bucket	Reconciler error	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket", "name": "dev-example", "namespace": "ack-system", "error": "BucketNotEmpty: The bucket you tried to delete is not empty\n\tstatus code: 409, request id: 9ZXNPVJB088EB4B2, host id: bcA5ZZwizoI0QaNInQ/6i+KVR0zIc3*****vmhFvypcPLeEr4YcIGTs="}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
	/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227
2022-09-20T12:50:43.440Z	DEBUG	ackrt	> r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:43.440Z	DEBUG	ackrt	>> rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:43.440Z	DEBUG	ackrt	>>> rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:43.919Z	DEBUG	ackrt	<<< rm.sdkFind	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:43.919Z	DEBUG	ackrt	<< rm.ReadOne	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:43.919Z	DEBUG	ackrt	>> rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:43.919Z	DEBUG	ackrt	>>> rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.144Z	DEBUG	ackrt	<<< rm.sdkDelete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.144Z	DEBUG	ackrt	<< rm.Delete	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.144Z	DEBUG	ackrt	>> r.setResourceUnmanaged	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.144Z	DEBUG	ackrt	>>> r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.144Z	DEBUG	ackrt	>>>> kc.Patch (metadata + spec)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.224Z	DEBUG	ackrt	patched resource metadata + spec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3, "json": "{\"metadata\":{\"finalizers\":null}}"}
2022-09-20T12:50:44.224Z	DEBUG	ackrt	<<<< kc.Patch (metadata + spec)	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.224Z	DEBUG	ackrt	<<< r.patchResourceMetadataAndSpec	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.224Z	DEBUG	ackrt	removed resource from management	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.224Z	DEBUG	ackrt	<< r.setResourceUnmanaged	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.224Z	INFO	ackrt	deleted resource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:50:44.224Z	DEBUG	ackrt	< r.deleteResource	{"account": "999999999999", "role": "", "region": "eu-central-1", "kind": "Bucket", "namespace": "ack-system", "name": "dev-example", "generation": 3}
2022-09-20T12:52:10.473Z	INFO	Stopping and waiting for non leader election runnables
2022-09-20T12:52:10.473Z	INFO	Stopping and waiting for leader election runnables
2022-09-20T12:52:10.476Z	INFO	controller.bucket	Shutdown signal received, waiting for all workers to finish	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket"}
2022-09-20T12:52:10.476Z	INFO	controller.adoptedresource	Shutdown signal received, waiting for all workers to finish	{"reconciler group": "services.k8s.aws", "reconciler kind": "AdoptedResource"}
2022-09-20T12:52:10.476Z	INFO	controller.adoptedresource	All workers finished	{"reconciler group": "services.k8s.aws", "reconciler kind": "AdoptedResource"}
2022-09-20T12:52:10.476Z	INFO	controller.bucket	All workers finished	{"reconciler group": "s3.services.k8s.aws", "reconciler kind": "Bucket"}
2022-09-20T12:52:10.476Z	INFO	Stopping and waiting for caches
2022-09-20T12:52:10.478Z	INFO	Stopping and waiting for webhooks
2022-09-20T12:52:10.478Z	INFO	Wait completed, proceeding to shutdown the manager

And finally it deleted bucket...
controller did nothing between:
2022-09-20T12:39:48.046Z
2022-09-20T12:50:43.440Z
Steps to reproduce

create bucket
put a file into it
delete bucket's CRD
wait 11-12 minutes
delete file
check logs of s3-controller and bucket's CRD

Expected outcome
bucket deleted after step 5.
Environment

Kubernetes version
Openshift:
Server Version: 4.10.26
Kubernetes Version: v1.23.5+012e945

Using EKS (yes/no), if so version?

AWS service targeted (S3, RDS, etc.)

Without further diving into it, I have a feeling it's related to at least one of the following:

Exponential backoff with a failing operation (delete)
The AWS S3 API hanging while attempting to delete the bucket

Let's follow this in #1533
/close

authors: A-Hilaly RedbackThomson chobostar


text:
Docs: Incorrect example for SSMProvider.get_multiple

What were you searching in the docs?
Documentation for the get_multiple call of the SSMProvider.
Is this related to an existing documentation section?
https://docs.powertools.aws.dev/lambda/python/latest/api/utilities/parameters/ssm.html
How can we improve?
The examples listed under:

Retrieves multiple parameter values from Systems Manager Parameter Store using a path prefix
Retrieves multiple parameter values from Systems Manager Parameter Store passing options to the SDK call

do not appear to be correct.
Taking the first example:
>>> from aws_lambda_powertools.utilities.parameters import SSMProvider
>>> ssm_provider = SSMProvider()
>>>
>>> values = ssm_provider.get_multiple("/my/path/prefix")
>>>
>>> for key, value in values.items():
...     print(key, value)
/my/path/prefix/a   Parameter value a
/my/path/prefix/b   Parameter value b
/my/path/prefix/c   Parameter value c

This shows that /my/path/prefix/ is part of the key name but that is not (or no longer the case).
Looking at the code: https://github.com/aws-powertools/powertools-lambda-python/blob/2c4420731f2e36f4e0ef3eb11c4a5e13296070c5/aws_lambda_powertools/utilities/parameters/ssm.py#L215
                # Standardize the parameter name
                # The parameter name returned by SSM will contain the full path.
                # However, for readability, we should return only the part after
                # the path.
                name = parameter["Name"]
                if name.startswith(path):
                    name = name[len(path) :]
                name = name.lstrip("/")

It always removes the path from the name.
Got a suggestion in mind?
Updates the example to:
>>> ...
>>> for key, value in values.items():
...     print(key, value)
a   Parameter value a
b   Parameter value b
c   Parameter value c

Acknowledgment

[X] I understand the final update might be different from my proposed suggestion, or refused.

Hi @bram-tv! Thanks so much for raising this issue! We strive to keep our documentation and docstring as up-to-date as possible, but sometimes we miss something, like this case. This case is the docstring of the method and we can update it to make it clearer for our customers.
Do you think it's worth putting something like: "considering the path /my/path/prefix/ which has the parameters a, b and c...?" This way it makes the example more expensive for the user and we remove the path.
Do you have bandwidth to send a PR to fix this?
Thanks!

@leandrodamascena taking this one FYI

Apologies for the delay @bram-tv but we've got a PR now. Besides API docs, I've also improved the User Guide docs with more details and examples too (including comments in the code snippet provided).
Can't thank you enough for taking the time in helping us improve the docs.

Now in stage (prod after our release this week): https://docs.powertools.aws.dev/lambda/python/stage/api/utilities/parameters/index.html#aws_lambda_powertools.utilities.parameters.get_parameters
User-guide docs: https://docs.powertools.aws.dev/lambda/python/stage/utilities/parameters/#fetching-parameters

authors: bram-tv heitorlessa leandrodamascena

repo: aws-powertools/powertools-lambda-python


text:
docs: fix env variable name in logEventIfEnabled() docstring

Summary
fix typo for env variable POWERTOOLS_LOGGER_LOG_EVENT in logger.logEventIfEnabled
Changes

Please provide a summary of what's being changed

Fixed env details on typedoc for logger.logEventIfEnabled from POWERTOOLS_LOG_EVENT to POWERTOOLS_LOGGER_LOG_EVENT per discussion in #3196

Please add the issue number below, if no issue is present the PR might get blocked and not be reviewed

Issue number: #3196

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

No problem! I was looking for some easy wins this morning and came across that issue. Glad I could help!


text:
Question: Why do we need an option for Application Load Balancer?

What is the reason to have an optional Load Balancer? In which cases API Gateway is not enough?

What is the reason to have an optional Load Balancer? In which cases API Gateway is not enough?

Hi @konstantinvlasenko , thank you for your question.
Some customers just prefer to use an internal LB and restrict access to their internal network instead of using a private VPC endpoint for API Gateway and concern about setting policies on it.

Interesting.
Thank you!

authors: alexfrosa konstantinvlasenko

license: MIT


text:
spinnaker-infra-eks-nodes Cloudformation fails to deploy

parameter value ami-0e7ee8863c8536cce for parameter name NodeImageId does not exist.
Rollback requested by user.

The AMI is located in us-west-2, I'm deploying into ap-southeast-2 so I'll just find the equivalent - but would be good to reference in the docs that the default AMI is in us-west-2 and other regions needs to search for an ami name of amazon-eks-node-1.10-v20190220 in their chosen region.


text:
IRSA for AWS for Fluent Bit Add-on

Issue #, if available:
Description of changes:

IRSA for AWS For Fluent Bit
Removed Node level roles
Docs updated

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

All the tests have passed! Merging the PR now


text:
Sample uses Node.js 14.6.0 - Node 14 is EOL 04-30-2023

Sample asks to Install Node.js 14.6.0 in README.md.
Please note NodeJS is EOL 04-30 2023, see https://github.com/nodejs/release#release-schedule
Expected Behaviour

Uses stable LTS version of NodeJS such as 18.x

Fixed

authors: juhoaws lmbr-pip


text:
tiiuae-falcon7b-instruct endpoint creation fails

I get those errors
2023-07-12T16:57:37.051+02:00 | > File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 124, in serve_inner model = get_model(model_id, revision, sharded, quantize, trust_remote_code) File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/__init__.py", line 208, in get_model raise NotImplementedError("sharded is not supported for this model")
  | 2023-07-12T16:57:37.802+02:00 | NotImplementedError: sharded is not supported for this model #033[2m#033[3mrank#033[0m#033[2m=#033[0m0#033[0m
  | 2023-07-12T16:57:37.802+02:00 | #033[2m2023-07-12T14:57:37.591548Z#033[0m #033[31mERROR#033[0m #033[2mtext_generation_launcher#033[0m#033[2m:#033[0m Shard 1 failed to start:
  | 2023-07-12T16:57:37.802+02:00 | Traceback (most recent call last): File "/opt/conda/bin/text-generation-server", line 8, in <module> sys.exit(app()) File "/opt/conda/lib/python3.9/site-packages/text_generation_server/cli.py", line 67, in serve server.serve(model_id, revision, sharded, quantize, trust_remote_code, uds_path) File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 155, in serve asyncio.run(serve_inner(model_id, revision, sharded, quantize, trust_remote_code)) File "/opt/conda/lib/python3.9/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/opt/conda/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete return future.result() File "/opt/conda/lib/python3.9/site-packages/text_generation_server/server.py", line 124, in serve_inner model = get_model(model_id, revision, sharded, quantize, trust_remote_code) File "/opt/conda/lib/python3.9/site-packages/text_generation_server/models/__init__.py", line 208, in get_model raise NotImplementedError("sharded is not supported for this model")
  | 2023-07-12T16:57:37.802+02:00 | NotImplementedError: sharded is not supported for this model
  | 2023-07-12T16:57:37.802+02:00 | #033[2m2023-07-12T14:57:37.591613Z#033[0m #033[32m INFO#033[0m #033[2mtext_generation_launcher#033[0m#033[2m:#033[0m Shutting down shards
  | 2023-07-12T16:57:37.802+02:00Copy#033[2m2023-07-12T14:57:37.656495Z#033[0m #033[32m INFO#033[0m #033[2mtext_generation_launcher#033[0m#033[2m:#033[0m Shard 0 terminated | #033[2m2023-07-12T14:57:37.656495Z#033[0m #033[32m INFO#033[0m #033[2mtext_generation_launcher#033[0m#033[2m:#033[0m Shard 0 terminated
  | 2023-07-12T16:57:42.357+02:00 | Error: ShardCannotStart

my chatbot-stack.ts looks like so
import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import { Construct } from 'constructs';

import { ChatBotBackendStack } from './chatbot-backend/chatbot-backend-stack';
import {
  LargeLanguageModel,
  ModelKind,
  ContainerImages,
} from './large-language-model';

export interface ChatBotStackProps extends cdk.StackProps {
  vpc: ec2.Vpc;
  semanticSearchApi: lambda.Function | null;
  maxParallelLLMQueries: number;
}

export class ChatBotStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props: ChatBotStackProps) {
    super(scope, id, {
      description: 'AWS LLM CHATBOT (uksb-1tupboc16)',
      ...props,
    });

    const { vpc, semanticSearchApi, maxParallelLLMQueries } = props;

    const largeLanguageModels = this.createLLMs({ vpc });
    new ChatBotBackendStack(this, 'ChatBotBackendStack', {
      vpc: vpc,
      semanticSearchApi,
      largeLanguageModels,
      maxParallelLLMQueries,
    });
  }

  createLLMs({ vpc }: { vpc: ec2.Vpc }) {
    const falcon7bInstruct = new LargeLanguageModel(
      this,
      'tiiuae-falcon7b-instruct',
      {
        vpc,
        region: this.region,
        model: {
          kind: ModelKind.Container,
          modelId: 'tiiuae/falcon-7b-instruct',
          container: ContainerImages.HF_PYTORCH_LLM_TGI_INFERENCE_LATEST,
          instanceType: 'ml.g5.2xlarge',
          env: {
            SM_NUM_GPUS: '4',
          },
        },
      }
    );
...
...
    return [falcon7bInstruct];
  }
}

I am deploying on eu-west-1
Thanks!

attaching log export
log-events-viewer-result.csv

not sure if the issue could be related with service quotas in the end - investigating ...

repo: aws-samples/aws-genai-llm-chatbot


text:
Feature request - support multiple Secrets injection

As much as I can tell, Currently,  We can inject one secret only using secrets.k8s.aws/secret-arn .
Would be nice to inject multiple secrets into a given pod.

That's right.  There is a fork of this project that supports multiple secrets.

Thanks for the fast response!
Would you mind sharing it?
Any estimation time on when this change will be merged?

See the aws-samples:multi-secret branch.  There are no plans to merge it at the moment.

How to get helm chart for multi-secret branch!

This Feature is really important in case of injecting my certificate and my key to my nginx pod

wonderful and easy to use tool, but indeed, a multi-secret feature would help a lot

See the aws-samples:multi-secret branch. There are no plans to merge it at the moment.

@jicowan
I am using this project in production. And it's often asked to support multiple secrets.
So I was wondering as to why wouldn't you support/merge the muti-secret fork?

@bjethwan I think it might be related with the recommendation to use the just release ASCP project, as describe in this project's README.
https://aws.amazon.com/blogs/security/how-to-use-aws-secrets-configuration-provider-with-kubernetes-secrets-store-csi-driver/
You can give it a try, it seems to work just fine within our EKS implementation

@adriantaut
CSI driver is cool (I was in loop with CSI driver pm team) but it doesn't fit the design of my k8s based platform.
Further, the cost ($) of the poll-based rotation-reconciler is bothering.

@bjethwan ah ok, wondering why it does not fit it. I think you can disable the reconciler

@bjethwan @adriantaut The cost of polling is pretty negligible ($0.05 per 10,000 API calls) and you can configure the polling interval or disable it all together. We are not supporting the multi-secret branch because it is a complete re-write of the sidecar/admission controller and we're not prepared to support it. We were hoping the contributor would maintain it, but that has not come to pass.

We ended up writing our own service to support this request, I can share the source code if interested.

We ended up writing our own service to support this request, I can share the source code if interested.

sure @AmitBaranes I would be interested

We ended up writing our own service to support this request, I can share the source code if interested.

@AmitBaranes - Also interested, looking at keeping secrets out of k8s "secrets" objects, but still utilize k8s IRSA

authors: AmitBaranes KyMidd adriantaut bjethwan divyangjp dsaydon90 jicowan

repo: aws-samples/aws-secret-sidecar-injector


text:
Experiment - Medical prescription ledger using Blockchain

We are exploring a new experiment for developing medical prescription ledger using blockchain on AWS. Medical prescriptions once issued by a doctor to a patient are immutable in nature, require audit of changes, need to be interoperable across healthcare systems, and are a system of record. These traits make them an ideal case for blockchain technology. We also want to explore other AWS services like Comprehend Medical which may help extract structure from prescriptions. Other aspects we want to consider are prescriptions generated by telemedicine apps and how can these be integrated into the system of record. Related documents like x-rays, blood test reports could be part of the ledger. Benefits from this experiment which we are seeking include easy introduction into AWS services which can enable patient electronic health record.

What is the atomic ledger entry, is it a drug prescribed (refer #6) or a patient level prescription data which can be harder to match sample datasets due to data privacy?

One of the motivating use cases is the current COVID wave in India (April/May 2021) where carers and patients are using social media to request for drugs/medicines while providing details on symptoms (fever) and medical condition (SpO2 levels, Chest CT results) related to COVID. Can this dataset be used for determining patterns on supply/demand, use/misuse of drugs, which further informs healthcare providers in care readiness, government interventions like education campaigns, pharmacies in stocking, etc.

repo: aws-samples/cloud-experiments


text:
eb-python-flask fails to deploy on preconfigured docker python platform

Deploy a sample application from the Elastic Beanstalk console using the preconfigured docker python platform
Download eb-python-flask sample application from github as zip file
Re-zip files without parent directory for upload to EB
Upload zip file as new application version
Try to deploy to Default-Environment
Deployment fails with ERROR: InvalidParameterValue: Unknown template parameter: StaticFiles

archive

repo: aws-samples/eb-python-flask


text:
Change Cloud9 connection type to CONNECT_SSM

What this PR does / why we need it:
Changes Cloud9 IDE connection type to SSM
Which issue(s) this PR fixes:
Fixes # 299
Quality checks

[x ] My content adheres to the style guidelines
[ ] I ran make test or make e2e-test and it was successful

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I think this needs more testing - I've seem problems with SSM like this one:
https://github.com/hashicorp/terraform-provider-aws/issues/28825


text:
Ability to run on t2.micro with single thread

Thanks for the project, it really simplifies the wiring around the prowler, but I have a need to save a lot of money, so please add the following feature:
Launching prowler on Instance type "t2.micro" with single-threaded scanning of each listed account.
Let it be better slowly, but then I will not worry about the money.

I just saw this issue yesterday.  I tested PARALLELISM=1 with t2.micro. (prowler_scan.sh script)
This use case revealed that I had to resolve an issue with the queue mechanism monitoring for the completion of a single thread.
Once that was resolve, I tested with t2.micro in my lab.
t2.micro does not natively have enough memory to sustain this process and the inclusion of disk based swap space allowed the process to complete in my lab with very few resources (VERY VERY slowly).
Depending on your environment and the number of resources being analyzed, it's possible that the Prowler process will fail due to memory needs, but you'll need to test this.
I did not add in t2.micro as a AllowedValue for InstanceType in the Prowler-resources.yaml template, however you could easily modify the template for your needs prior to deployment.
The code does support parallelism set to 1 now.


text:
Include KMS ID / ARN in the root stack outputs

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
As a developer that uses the MIE framework, I'd like to have the KMS key that the stack creates listed as an output in the root stack.
Describe the feature you'd like
A clear and concise description of what you want to happen.
Both the KMS ID and ARN included in the MIE stack output.
Additional context
Add any other context or screenshots about the feature request here.
Related to #678

Closed as part of pr #693

repo: aws-solutions/aws-media-insights-engine


text:
replaced uuid generation with fixed string to allow incremental updates

Fixing #196
uuid forces deployment of full stack instead of incremental deployment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Arlind did this work for you?  I just tried updating it to a fixed string but when I did a new yarn deploy it still created buckets etc with uuids at the end

Did you find a solution to this @patrickthebruce?

@JamesAWS1 consider modifying this function to return a constant string value - https://github.com/aws-solutions/document-understanding-solution/blob/main/source/lib/cdk-textract-stack.ts#L69. You can also use AWS::StackName for example as a constant string. This should stop creating new buckets.

authors: ArlindNocaj JamesAWS1 knihit patrickthebruce


text:
Fix the Typescript definitions for API, Analytics, Auth and Storage

As reported in #138 the TypeScript definition for Auth is any. A similar problem exists for API, Analytics and Storage.
This PR adds the additional type information required so Typescript generates the type definitions correctly.

Codecov Report

Merging #263 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #263      +/-   ##
==========================================
+ Coverage   90.77%   90.78%   +<.01%
==========================================
  Files          53       53
  Lines        2516     2517       +1
  Branches      510      510
==========================================
+ Hits         2284     2285       +1
  Misses        221      221
  Partials       11       11

Impacted Files
Coverage Δ

packages/aws-amplify/src/Storage/Storage.ts
96% <ø> (ø)
:arrow_up:

packages/aws-amplify/src/Analytics/Analytics.ts
87.59% <100%> (+0.09%)
:arrow_up:

packages/aws-amplify/src/Auth/index.ts
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 54260bc...47dda36. Read the comment docs.

authors: buggy codecov-io

repo: aws/aws-amplify


text:
299: removed outdated comments

What type of PR is this?
cleanup
Which issue does this PR fix:
299
What does this PR do / Why do we need it:
removes outdated comments
If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:
Testing done on this change:
none
Automation added to e2e:
none
Will this PR introduce any new dependencies?:
none
Will this break upgrades or downgrades. Has updating a running cluster been tested?:
no
Does this PR introduce any user-facing change?:
no
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build 5638585476

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 33.212%

Totals

Change from base Build 5592130665:
0.0%

Covered Lines:
3472

Relevant Lines:
10454

💛  - Coveralls

LGTM . thanks

authors: coveralls liwenwu-amazon vavrajosef


text:
JupyterLab 3 upgraded extension

Hi Team,
We( AWS Orbit Workbench) liked the JupyterLab 2 databrew extension and per our needs bumped the JupyterLab version to 3.0.10. The fork https://github.com/stthoom/aws-glue-databrew-jupyter-extension/tree/feature/orbit_databrew_extension holds changes.
We are hoping to get your roadmap about upgraded Jupyterlab 3 based aws-glue-databrew-jupyter-extension with pip based installation capability.

As alternative, you can install the latest 2.x version with:
pip install jupyterlab==2.3.1.

Is this still in progress or ready to use with Jupyter Lab 3 as mentioned in commit https://github.com/aws/aws-glue-databrew-jupyter-extension/commit/c5cc3d0754082d42de13c9c9599c872986b7fd48?

authors: opusmagnum ptrLx stthoom

repo: aws/aws-glue-databrew-jupyter-extension


text:
Python Version 3.12 Logging init error

I'm getting the following error.  It just recently started happening.  Does anyone have any clues?
Traceback (most recent call last):
  File "/app/lambda_function.py", line 1, in <module>
    import logging
  File "/app/logging/__init__.py", line 618
    raise NotImplementedError, 'emit must be implemented '\
                             ^
SyntaxError: invalid syntax

Not sure if this issue is still valid or can be closed, but looks like you're installing logging library (https://pypi.org/project/logging/) instead of using the one provided by cpython.

File "/app/logging/init.py", line 618
raise NotImplementedError, 'emit must be implemented '\

I installed this library locally and I can see the line 618

Remove this library and use the one provided by the Python itself.

repo: aws/aws-lambda-base-images


text:
AWS C++ SDK compile error on Xcode

Hi,
I encountered the following compile error after I built my own AWS C++ SDK static link library and compile it with my project in XCode.

Here's my project setting for c++ language

I cannot choose to use libstdc++ because the dependency from cocos2d project.
Please let me know if I did anything stupid. Appreciated.
Thank you so much for your time. Let me know if you need anything more from my project.
Thanks,
Billy

Could you reply with a paste of the full compiler output?  It seems likely that something went wrong before the screenshotted location.

Also can you show the CMAke command you used and its output.

Actually the error shows up right after I included AWS header files and added the header search path into my project.
What's more weird is that I can declare the typedef basic_ostream in my class without error

Please stop posting pictures. Post the output of the build as text. See if XCode has a "console" or something similar, where the output of the actual build process (which is parsed by XCode into fancy markers) is displayed.
You already posted the output of running cmake. run make > make.out 2>&1 and copy the content of make.out as text.

I was able to compile in XCode fine. Closing issue due to lack of activity. Please reopen if you still have issues. If you do reopen, please show CLI output, XCode versions, and OSx version.

repo: aws/aws-sdk-cpp


text:
RegionEndpoint has incorrect display names for european regions

Expected Behavior

RegionEndpoint descriptions should be consistent and follow same format.
Current Behavior

Amazon.endpoints.json contain all european regions starting with "Europe"
class RegionEndpoint has static fields:
	public static readonly RegionEndpoint EUNorth1 = GetEndpoint("eu-north-1", "**EU North** (Stockholm)");
	public static readonly RegionEndpoint EUWest1 = GetEndpoint("eu-west-1", "**EU West** (Ireland)");
	public static readonly RegionEndpoint EUWest2 = GetEndpoint("eu-west-2", "**EU West** (London)");
	public static readonly RegionEndpoint EUWest3 = GetEndpoint("eu-west-3", "**EU West** (Paris)");
	public static readonly RegionEndpoint EUCentral1 = GetEndpoint("eu-central-1", "**EU Central** (Frankfurt)");
	public static readonly RegionEndpoint EUSouth1 = GetEndpoint("eu-south-1", "**Europe** (Milan)");

Possible Solution

Fix RegionEndpoint class with correct descriptions
Steps to Reproduce (for bugs)

Context

Your Environment

AWSSDK.Core version used: 3.3.106.23
Service assembly and version used:
Operating System and version:
Visual Studio version:
Targeted .NET platform:

check commit: https://github.com/aws/aws-sdk-net/commit/856b496abe180c9592565e48393e738e144cc346
.NET Core Info

.NET Core version used for development:
.NET Core version installed in the environment where application runs:
Output of dotnet --info:
Contents of project.json/project.csproj:

This has been fixed in newer versions of the SDK

authors: gustyr normj

repo: aws/aws-sdk-net